diff --git a/cps/config_sql.py b/cps/config_sql.py
index 6e1ff54e..f7419ec9 100644
--- a/cps/config_sql.py
+++ b/cps/config_sql.py
@@ -20,16 +20,18 @@
from __future__ import division, print_function, unicode_literals
import os
import sys
+import json
-from sqlalchemy import exc, Column, String, Integer, SmallInteger, Boolean, BLOB, JSON
+from sqlalchemy import Column, String, Integer, SmallInteger, Boolean, BLOB, JSON
from sqlalchemy.exc import OperationalError
+from sqlalchemy.sql.expression import text
try:
# Compatibility with sqlalchemy 2.0
from sqlalchemy.orm import declarative_base
except ImportError:
from sqlalchemy.ext.declarative import declarative_base
-from . import constants, cli, logger, ub
+from . import constants, cli, logger
log = logger.create()
@@ -260,7 +262,6 @@ class _ConfigSQL(object):
"""
new_value = dictionary.get(field, default)
if new_value is None:
- # log.debug("_ConfigSQL set_from_dictionary field '%s' not found", field)
return False
if field not in self.__dict__:
@@ -277,7 +278,6 @@ class _ConfigSQL(object):
if current_value == new_value:
return False
- # log.debug("_ConfigSQL set_from_dictionary '%s' = %r (was %r)", field, new_value, current_value)
setattr(self, field, new_value)
return True
@@ -368,20 +368,23 @@ def _migrate_table(session, orm_class):
column_default = ""
else:
if isinstance(column.default.arg, bool):
- column_default = ("DEFAULT %r" % int(column.default.arg))
+ column_default = "DEFAULT {}".format(int(column.default.arg))
else:
- column_default = ("DEFAULT '%r'" % column.default.arg)
+ column_default = "DEFAULT `{}`".format(column.default.arg)
if isinstance(column.type, JSON):
column_type = "JSON"
else:
column_type = column.type
- alter_table = "ALTER TABLE %s ADD COLUMN `%s` %s %s" % (orm_class.__tablename__,
+ alter_table = text("ALTER TABLE %s ADD COLUMN `%s` %s %s" % (orm_class.__tablename__,
column_name,
column_type,
- column_default)
+ column_default))
log.debug(alter_table)
session.execute(alter_table)
changed = True
+ except json.decoder.JSONDecodeError as e:
+ log.error("Database corrupt column: {}".format(column_name))
+ log.debug(e)
if changed:
try:
diff --git a/cps/db.py b/cps/db.py
index 0d7055a4..1a305d33 100644
--- a/cps/db.py
+++ b/cps/db.py
@@ -121,6 +121,8 @@ class Identifiers(Base):
return u"Douban"
elif format_type == "goodreads":
return u"Goodreads"
+ elif format_type == "babelio":
+ return u"Babelio"
elif format_type == "google":
return u"Google Books"
elif format_type == "kobo":
@@ -148,6 +150,8 @@ class Identifiers(Base):
return u"https://dx.doi.org/{0}".format(self.val)
elif format_type == "goodreads":
return u"https://www.goodreads.com/book/show/{0}".format(self.val)
+ elif format_type == "babelio":
+ return u"https://www.babelio.com/livres/titre/{0}".format(self.val)
elif format_type == "douban":
return u"https://book.douban.com/subject/{0}".format(self.val)
elif format_type == "google":
@@ -702,14 +706,21 @@ class CalibreDB():
return self.session.query(Books) \
.filter(and_(Books.authors.any(and_(*q)), func.lower(Books.title).ilike("%" + title + "%"))).first()
- def search_query(self, term):
+ def search_query(self, term, *join):
term.strip().lower()
self.session.connection().connection.connection.create_function("lower", 1, lcase)
q = list()
authorterms = re.split("[, ]+", term)
for authorterm in authorterms:
q.append(Books.authors.any(func.lower(Authors.name).ilike("%" + authorterm + "%")))
- return self.session.query(Books).filter(self.common_filters(True)).filter(
+ query = self.session.query(Books)
+ if len(join) == 3:
+ query = query.outerjoin(join[0], join[1]).outerjoin(join[2])
+ elif len(join) == 2:
+ query = query.outerjoin(join[0], join[1])
+ elif len(join) == 1:
+ query = query.outerjoin(join[0])
+ return query.filter(self.common_filters(True)).filter(
or_(Books.tags.any(func.lower(Tags.name).ilike("%" + term + "%")),
Books.series.any(func.lower(Series.name).ilike("%" + term + "%")),
Books.authors.any(and_(*q)),
@@ -718,10 +729,10 @@ class CalibreDB():
))
# read search results from calibre-database and return it (function is used for feed and simple search
- def get_search_results(self, term, offset=None, order=None, limit=None):
+ def get_search_results(self, term, offset=None, order=None, limit=None, *join):
order = order or [Books.sort]
pagination = None
- result = self.search_query(term).order_by(*order).all()
+ result = self.search_query(term, *join).order_by(*order).all()
result_count = len(result)
if offset != None and limit != None:
offset = int(offset)
diff --git a/cps/services/__init__.py b/cps/services/__init__.py
index efd55621..e6e5954c 100644
--- a/cps/services/__init__.py
+++ b/cps/services/__init__.py
@@ -49,5 +49,5 @@ except ImportError as err:
try:
from . import gmail
except ImportError as err:
- log.debug("Cannot import Gmail, sending books via G-Mail Accounts will not work: %s", err)
+ log.debug("Cannot import gmail, sending books via Gmail Oauth2 Verification will not work: %s", err)
gmail = None
diff --git a/cps/services/gmail.py b/cps/services/gmail.py
index 9524dd75..f85d56b0 100644
--- a/cps/services/gmail.py
+++ b/cps/services/gmail.py
@@ -53,6 +53,7 @@ def setup_gmail(token):
'expiry': creds.expiry.isoformat(),
'email': user_info
}
+ return {}
def get_user_info(credentials):
user_info_service = build(serviceName='oauth2', version='v2',credentials=credentials)
diff --git a/cps/static/css/kthoom.css b/cps/static/css/kthoom.css
index 233cfe94..267a2a84 100644
--- a/cps/static/css/kthoom.css
+++ b/cps/static/css/kthoom.css
@@ -84,15 +84,24 @@ body {
#progress .bar-load,
#progress .bar-read {
display: flex;
- align-items: flex-end;
- justify-content: flex-end;
position: absolute;
top: 0;
- left: 0;
bottom: 0;
transition: width 150ms ease-in-out;
}
+#progress .from-left {
+ left: 0;
+ align-items: flex-end;
+ justify-content: flex-end;
+}
+
+#progress .from-right {
+ right: 0;
+ align-items: flex-start;
+ justify-content: flex-start;
+}
+
#progress .bar-load {
color: #000;
background-color: #ccc;
diff --git a/cps/static/js/kthoom.js b/cps/static/js/kthoom.js
index 56038fc6..f6c1e4d7 100644
--- a/cps/static/js/kthoom.js
+++ b/cps/static/js/kthoom.js
@@ -171,7 +171,10 @@ kthoom.ImageFile = function(file) {
function initProgressClick() {
$("#progress").click(function(e) {
- var page = Math.max(1, Math.ceil((e.offsetX / $(this).width()) * totalImages)) - 1;
+ var offset = $(this).offset();
+ var x = e.pageX - offset.left;
+ var rate = settings.direction === 0 ? x / $(this).width() : 1 - x / $(this).width();
+ var page = Math.max(1, Math.ceil(rate * totalImages)) - 1;
currentImage = page;
updatePage();
});
@@ -285,6 +288,22 @@ function updatePage() {
}
function updateProgress(loadPercentage) {
+ if (settings.direction === 0) {
+ $("#progress .bar-read")
+ .removeClass("from-right")
+ .addClass("from-left");
+ $("#progress .bar-load")
+ .removeClass("from-right")
+ .addClass("from-left");
+ } else {
+ $("#progress .bar-read")
+ .removeClass("from-left")
+ .addClass("from-right");
+ $("#progress .bar-load")
+ .removeClass("from-left")
+ .addClass("from-right");
+ }
+
// Set the load/unzip progress if it's passed in
if (loadPercentage) {
$("#progress .bar-load").css({ width: loadPercentage + "%" });
@@ -526,18 +545,17 @@ function keyHandler(evt) {
break;
case kthoom.Key.SPACE:
var container = $("#mainContent");
- var atTop = container.scrollTop() === 0;
- var atBottom = container.scrollTop() >= container[0].scrollHeight - container.height();
+ // var atTop = container.scrollTop() === 0;
+ // var atBottom = container.scrollTop() >= container[0].scrollHeight - container.height();
- if (evt.shiftKey && atTop) {
+ if (evt.shiftKey) {
evt.preventDefault();
// If it's Shift + Space and the container is at the top of the page
- showLeftPage();
- } else if (!evt.shiftKey && atBottom) {
+ showPrevPage();
+ } else {
evt.preventDefault();
// If you're at the bottom of the page and you only pressed space
- showRightPage();
- container.scrollTop(0);
+ showNextPage();
}
break;
default:
diff --git a/cps/static/js/main.js b/cps/static/js/main.js
index 81308c64..7231c51c 100644
--- a/cps/static/js/main.js
+++ b/cps/static/js/main.js
@@ -114,6 +114,20 @@ $(document).ready(function() {
}
});
+$(".session").click(function() {
+ window.sessionStorage.setItem("back", window.location.pathname);
+});
+
+$("#back").click(function() {
+ var loc = sessionStorage.getItem("back");
+ if (!loc) {
+ loc = $(this).data("back");
+ }
+ sessionStorage.removeItem("back");
+ window.location.href = loc;
+
+});
+
function confirmDialog(id, dialogid, dataValue, yesFn, noFn) {
var $confirm = $("#" + dialogid);
$confirm.modal('show');
diff --git a/cps/static/js/table.js b/cps/static/js/table.js
index 7c4b04a7..3f3b431f 100644
--- a/cps/static/js/table.js
+++ b/cps/static/js/table.js
@@ -177,7 +177,6 @@ $(function() {
},
});
-
$("#domain_allow_submit").click(function(event) {
event.preventDefault();
$("#domain_add_allow").ajaxForm();
@@ -388,7 +387,6 @@ $(function() {
var target = $(e.relatedTarget).attr('id');
var dataId;
$(e.relatedTarget).one('focus', function(e){$(this).blur();});
- //$(e.relatedTarget).blur();
if ($(e.relatedTarget).hasClass("button_head")) {
dataId = $('#user-table').bootstrapTable('getSelections').map(a => a.id);
} else {
@@ -454,18 +452,28 @@ $(function() {
$(this).next().text(elText);
});
},
- onLoadSuccess: function () {
- var guest = $(".editable[data-name='name'][data-value='Guest']");
- guest.editable("disable");
- $(".editable[data-name='locale'][data-pk='"+guest.data("pk")+"']").editable("disable");
- $("input[data-name='admin_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
- $("input[data-name='passwd_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
- $("input[data-name='edit_shelf_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
- $("input[data-name='sidebar_read_and_unread'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
- $(".user-remove[data-pk='"+guest.data("pk")+"']").hide();
+ onPostHeader () {
+ deactivateHeaderButtons();
},
- onSort: function(a, b) {
- console.log("huh");
+ onLoadSuccess: function () {
+ loadSuccess();
+ var element = $(".header_select");
+ element.each(function() {
+ var item = $(this).parent();
+ var parent = item.parent().parent();
+ if (parent.prop('nodeName') === "TH") {
+ item.prependTo(parent);
+ }
+ });
+ var element = $(".form-check");
+ element.each(function() {
+ var item = $(this).parent();
+ var parent = item.parent().parent();
+ if (parent.prop('nodeName') === "TH") {
+ item.prependTo(parent);
+ }
+ });
+
},
onColumnSwitch: function () {
var visible = $("#user-table").bootstrapTable("getVisibleColumns");
@@ -491,7 +499,18 @@ $(function() {
$("#user_delete_selection").click(function() {
$("#user-table").bootstrapTable("uncheckAll");
});
-
+ $("#select_locale").on("change",function() {
+ selectHeader(this, "locale");
+ });
+ $("#select_default_language").on("change",function() {
+ selectHeader(this, "default_language");
+ });
+ $(".check_head").on("change",function() {
+ var val = $(this).val() === "on";
+ var name = $(this).data("name");
+ var data = $(this).data("val");
+ checkboxHeader(val, name, data);
+ });
function user_handle (userId) {
$.ajax({
method:"post",
@@ -505,6 +524,7 @@ $(function() {
timeout: 900,
success:function(data) {
$("#user-table").bootstrapTable("load", data);
+ loadSuccess();
}
});
}
@@ -560,10 +580,6 @@ function TableActions (value, row) {
].join("");
}
-function editEntry(param)
-{
- console.log(param);
-}
/* Function for deleting domain restrictions */
function RestrictionActions (value, row) {
return [
@@ -582,7 +598,7 @@ function EbookActions (value, row) {
].join("");
}
-/* Function for deleting books */
+/* Function for deleting Users */
function UserActions (value, row) {
return [
"
",
@@ -600,7 +616,7 @@ function responseHandler(res) {
}
function singleUserFormatter(value, row) {
- return '
' + this.buttontext + ''
+ return '
' + this.buttontext + ''
}
function checkboxFormatter(value, row, index){
@@ -610,33 +626,55 @@ function checkboxFormatter(value, row, index){
return '
';
}
+function loadSuccess() {
+ var guest = $(".editable[data-name='name'][data-value='Guest']");
+ guest.editable("disable");
+ $(".editable[data-name='locale'][data-pk='"+guest.data("pk")+"']").editable("disable");
+ $(".editable[data-name='locale'][data-pk='"+guest.data("pk")+"']").hide();
+ $("input[data-name='admin_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
+ $("input[data-name='passwd_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
+ $("input[data-name='edit_shelf_role'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
+ $("input[data-name='sidebar_read_and_unread'][data-pk='"+guest.data("pk")+"']").prop("disabled", true);
+ $(".user-remove[data-pk='"+guest.data("pk")+"']").hide();
+}
+
+function handleListServerResponse (data, disableButtons) {
+ $("#flash_success").remove();
+ $("#flash_danger").remove();
+ if (!jQuery.isEmptyObject(data)) {
+ $( ".navbar" ).after( '
' +
+ '
'+data.message+'
' +
+ '
');
+ }
+ $.ajax({
+ method: "get",
+ url: window.location.pathname + "/../../ajax/listusers",
+ async: true,
+ timeout: 900,
+ success: function (data) {
+ $("#user-table").bootstrapTable("load", data);
+ if (disableButtons) {
+ deactivateHeaderButtons();
+ }
+ loadSuccess();
+ }
+ });
+}
+
+
function checkboxChange(checkbox, userId, field, field_index) {
$.ajax({
method: "post",
url: window.location.pathname + "/../../ajax/editlistusers/" + field,
data: {"pk": userId, "field_index": field_index, "value": checkbox.checked},
- success: function (data) {
- if (!jQuery.isEmptyObject(data)) {
- $("#flash_success").remove();
- $("#flash_danger").remove();
- $( ".navbar" ).after( '
' +
- '
'+data.message+'
' +
- '
');
- }
- $.ajax({
- method: "get",
- url: window.location.pathname + "/../../ajax/listusers",
- async: true,
- timeout: 900,
- success: function (data) {
- $("#user-table").bootstrapTable("load", data);
- }
- });
- }
+ error: function(data) {
+ handleListServerResponse({type:"danger", message:data.responseText})
+ },
+ success: handleListServerResponse
});
}
-function deactivateHeaderButtons(e) {
+function deactivateHeaderButtons() {
$("#user_delete_selection").addClass("disabled");
$("#user_delete_selection").attr("aria-disabled", true);
$(".check_head").attr("aria-disabled", true);
@@ -655,18 +693,10 @@ function selectHeader(element, field) {
method: "post",
url: window.location.pathname + "/../../ajax/editlistusers/" + field,
data: {"pk": result, "value": element.value},
- success: function () {
- $.ajax({
- method: "get",
- url: window.location.pathname + "/../../ajax/listusers",
- async: true,
- timeout: 900,
- success: function (data) {
- $("#user-table").bootstrapTable("load", data);
- deactivateHeaderButtons();
- }
- });
- }
+ error: function (data) {
+ handleListServerResponse({type:"danger", message:data.responseText})
+ },
+ success: handleListServerResponse,
});
});
}
@@ -679,25 +709,12 @@ function checkboxHeader(CheckboxState, field, field_index) {
method: "post",
url: window.location.pathname + "/../../ajax/editlistusers/" + field,
data: {"pk": result, "field_index": field_index, "value": CheckboxState},
- success: function () {
- $.ajax({
- method: "get",
- url: window.location.pathname + "/../../ajax/listusers",
- async: true,
- timeout: 900,
- success: function (data) {
- $("#user-table").bootstrapTable("load", data);
- $("#user_delete_selection").addClass("disabled");
- $("#user_delete_selection").attr("aria-disabled", true);
- $(".check_head").attr("aria-disabled", true);
- $(".check_head").attr("disabled", true);
- $(".check_head").prop('checked', false);
- $(".button_head").attr("aria-disabled", true);
- $(".button_head").addClass("disabled");
- $(".header_select").attr("disabled", true);
- }
- });
- }
+ error: function (data) {
+ handleListServerResponse({type:"danger", message:data.responseText}, true)
+ },
+ success: function (data) {
+ handleListServerResponse (data, true)
+ },
});
});
}
@@ -712,24 +729,10 @@ function deleteUser(a,b){
method:"post",
url: window.location.pathname + "/../../ajax/deleteuser",
data: {"userid":b},
- success:function(data) {
- $("#flash_success").remove();
- $("#flash_danger").remove();
- if (!jQuery.isEmptyObject(data)) {
- $( ".navbar" ).after( '
' +
- '
'+data.message+'
' +
- '
');
- }
- $.ajax({
- method: "get",
- url: window.location.pathname + "/../../ajax/listusers",
- async: true,
- timeout: 900,
- success: function (data) {
- $("#user-table").bootstrapTable("load", data);
- }
- });
- }
+ success: handleListServerResponse,
+ error: function (data) {
+ handleListServerResponse({type:"danger", message:data.responseText})
+ },
});
}
);
@@ -741,6 +744,6 @@ function queryParams(params)
return params;
}
-function test(){
- console.log("hello");
+function storeLocation() {
+ window.sessionStorage.setItem("back", window.location.pathname);
}
diff --git a/cps/templates/admin.html b/cps/templates/admin.html
index 5226151e..c06b7e72 100644
--- a/cps/templates/admin.html
+++ b/cps/templates/admin.html
@@ -26,7 +26,7 @@
{% for user in allUser %}
{% if not user.role_anonymous() or config.config_anonbrowse %}
- {{user.name}} |
+ {{user.name}} |
{{user.email}} |
{{user.kindle_mail}} |
{{user.downloads.count()}} |
diff --git a/cps/templates/book_table.html b/cps/templates/book_table.html
index e700eb53..bb167ad3 100644
--- a/cps/templates/book_table.html
+++ b/cps/templates/book_table.html
@@ -47,13 +47,13 @@
{{ text_table_row('title', _('Enter Title'),_('Title'), true, true) }}
{{ text_table_row('sort', _('Enter Title Sort'),_('Title Sort'), false, true) }}
{{ text_table_row('author_sort', _('Enter Author Sort'),_('Author Sort'), false, true) }}
- {{ text_table_row('authors', _('Enter Authors'),_('Authors'), true) }}
- {{ text_table_row('tags', _('Enter Categories'),_('Categories'), false, false) }}
- {{ text_table_row('series', _('Enter Series'),_('Series'), false, false) }}
+ {{ text_table_row('authors', _('Enter Authors'),_('Authors'), true, true) }}
+ {{ text_table_row('tags', _('Enter Categories'),_('Categories'), false, true) }}
+ {{ text_table_row('series', _('Enter Series'),_('Series'), false, true) }}
{{_('Series Index')}} |
- {{ text_table_row('languages', _('Enter Languages'),_('Languages'), false, false) }}
+ {{ text_table_row('languages', _('Enter Languages'),_('Languages'), false, true) }}
- {{ text_table_row('publishers', _('Enter Publishers'),_('Publishers'), false, false) }}
+ {{ text_table_row('publishers', _('Enter Publishers'),_('Publishers'), false, true) }}
{% if g.user.role_delete_books() and g.user.role_edit()%}
{{_('Delete')}} |
{% endif %}
diff --git a/cps/templates/email_edit.html b/cps/templates/email_edit.html
index 8b92a248..59978ea9 100644
--- a/cps/templates/email_edit.html
+++ b/cps/templates/email_edit.html
@@ -12,7 +12,7 @@
@@ -20,7 +20,7 @@
{% if content.mail_gmail_token == {} %}
{% else %}
-
+
{% endif %}
@@ -66,7 +66,7 @@
{% if feature_support['gmail'] %}
{% endif %}
- {{_('Back')}}
+ {{_('Back')}}
{% if g.allow_registration %}
diff --git a/cps/templates/readcbr.html b/cps/templates/readcbr.html
index 35943b34..5723947e 100644
--- a/cps/templates/readcbr.html
+++ b/cps/templates/readcbr.html
@@ -60,12 +60,12 @@
Fullscreen
-
+
-
diff --git a/cps/templates/user_edit.html b/cps/templates/user_edit.html
index e2b184fc..846ad978 100644
--- a/cps/templates/user_edit.html
+++ b/cps/templates/user_edit.html
@@ -129,7 +129,7 @@
{{_('Save')}}
{% if not profile %}
-
{{_('Cancel')}}
+
{{_('Cancel')}}
{% endif %}
{% if g.user and g.user.role_admin() and not profile and not new_user and not content.role_anonymous() %}
{{_('Delete User')}}
diff --git a/cps/templates/user_table.html b/cps/templates/user_table.html
index b8a9d2c2..6cfa09cf 100644
--- a/cps/templates/user_table.html
+++ b/cps/templates/user_table.html
@@ -23,16 +23,18 @@
data-visible="{{element.get(array_field)}}"
data-column="{{value.get(array_field)}}"
data-formatter="checkboxFormatter">
-
{{ show_text }}
{%- endmacro %}
@@ -137,6 +138,9 @@
+
{% endblock %}
{% block modal %}
{{ delete_confirm_modal() }}
diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo
index fc7f67e3..7db33bc4 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 9ae5823d..780be037 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-06-09 21:11+0100\n"
"Last-Translator: Lukas Heroudek
\n"
"Language: cs_CZ\n"
@@ -29,343 +29,359 @@ msgstr "není nainstalováno"
msgid "Statistics"
msgstr "Statistika"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Server restartován, znovu načtěte stránku"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Vypínám server, zavřete okno"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Úspěšně obnovené připojení"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Neznámý příkaz"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Neznámý"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Stránka správce"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Konfigurace uživatelského rozhraní"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Uživatel admin"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Vše"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Uživatel nenalezen"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Zobrazit vše"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Nezbývá žádný správce, nelze odebrat roli správce"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Konfigurace Calibre-Web aktualizována"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Opravdu chcete odstranit Kobo token?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Zakázat"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Povolit"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json není nakonfigurováno pro webové aplikace"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění zápisového souboru není platné. Určete prosím platnou polohu"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění zápisového souboru pro přístup není platné. Určete prosím platnou polohu"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Prosím zadejte LDAP poskytovatele, port, DN a Identifikátor objektu uživatele"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Filtr objektů skupiny LDAP musí mít jeden “%s” formátový identifikátor"
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr objektů skupiny LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Filtr uživatelských objektů LDAP musí mít jeden “%s” formátový identifikátor"
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr uživatelských objektů LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění souboru klíčů není platné, zadejte prosím správnou cestu"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění certifikátu není platné, zadejte prosím správnou cestu"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Umístění databáze není platné, opravte prosím cestu"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Databáze není zapisovatelná"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Základní konfigurace"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Vyplňte všechna pole!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-mail není z platné domény"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Přidat nového uživatele"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Uživatel '%(user)s' vytvořen"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Uživatel '%(nick)s' smazán"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Nezbývá žádný správce, nemůžete jej odstranit"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Upravit uživatele %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Uživatel '%(nick)s' aktualizován"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Došlo k neznámé chybě."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Změnit SMTP nastavení"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Prvně nastavte svou e-mailovou adresu..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Nastavení e-mailového serveru aktualizováno"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Uživatel nenalezen"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Heslo pro uživatele %(user)s resetováno"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Neznámá chyba. Opakujte prosím později."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Prohlížeč log souborů"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Požadování balíčku aktualizace"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Stahování balíčku aktualizace"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Rozbalování balíčku aktualizace"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Nahrazování souborů"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Databázová připojení jsou uzavřena"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Zastavuji server"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Aktualizace selhala:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP chyba"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Chyba připojení"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Vypršel časový limit při navazování spojení"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Všeobecná chyba"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Chyba: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Chyba: Žádná reakce od uživatele LDAP serveru"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -385,90 +401,90 @@ msgstr "Formát knihy úspěšně smazán"
msgid "Book Successfully Deleted"
msgstr "Kniha úspěšně smazána"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Chyba otevírání eknihy. Soubor neexistuje nebo není přístupný"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "upravit metadata"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s není platným jazykem"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Soubor s příponou '%(ext)s' nelze odeslat na tento server"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Soubor, který má být odeslán musí mít příponu"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Nepodařilo se vytvořit cestu %(path)s (oprávnění odepřeno)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Uložení souboru %(file)s se nezdařilo."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Chyba databáze: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Formát souboru %(ext)s přidán do %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadata úspěšně aktualizována"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Chyba při úpravách knihy, zkontrolujte prosím log pro podrobnosti"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Nahraná kniha pravděpodobně existuje v knihovně, zvažte prosím změnu před nahráním nové: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Soubor %(filename)s nemohl být uložen do dočasného adresáře"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Nepodařilo se přesunout soubor obalu %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Soubor %(file)s nahrán"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Chybí zdrojový nebo cílový formát pro převod"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Kniha byla úspěšně zařazena do fronty pro převod do %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Při převodu této knihy došlo k chybě: %(res)s"
@@ -649,64 +665,72 @@ msgstr "Pro získání platného api_endpoint pro zařízení Kobo, přístupte
msgid "Kobo Setup"
msgstr "Kobo nastavení"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Registrovat s %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "nyní jste přihlášen jako: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Připojení k %(oauth)s úspěšné"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Přihlášení selhalo, žádný uživatel s OAuth účtem"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Odpojení od %(oauth)s úspěšné"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Odpojení od %(oauth)s selhalo"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Přihlášení pomocí GitHub selhalo."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Nepodařilo se načíst informace o uživateli z GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Přihlášení pomocí Google selhalo."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Nepodařilo se načíst informace o uživateli z Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth chyba, prosím opakujte později."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth chyba, prosím opakujte později."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -716,7 +740,7 @@ msgstr "Vše"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "přihlásit se"
@@ -732,7 +756,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:414
msgid "Books"
msgstr "Knihy"
@@ -753,20 +777,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Nejlépe hodnocené knihy"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Přečtené knihy"
@@ -775,7 +799,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Nepřečtené knihy"
@@ -787,54 +811,55 @@ msgstr "Zobrazit nepřečtené"
msgid "Discover"
msgstr "Objevte"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Zobrazit náhodné knihy"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategorie"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Zobrazit výběr kategorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Série"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Zobrazit výběr sérií"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autoři"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Zobrazit výběr autora"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Vydavatelé"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Zobrazit výběr vydavatele"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Jazyky"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Zobrazit výběr jazyka"
@@ -842,7 +867,7 @@ msgstr "Zobrazit výběr jazyka"
msgid "Ratings"
msgstr "Hodnocení"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Zobrazit výběr hodnocení"
@@ -850,23 +875,23 @@ msgstr "Zobrazit výběr hodnocení"
msgid "File formats"
msgstr "Formáty souborů"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Zobrazit výběr formátů"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Archivované knihy"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Zobrazit archivované knihy"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -994,190 +1019,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Objevte (Náhodné knihy)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Žhavé knihy (Nejstahovanější)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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ý"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Autoři: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Vydavatel: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Hodnocení: %(rating)s stars"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Soubor formátů: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Jazyky: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Vlastní sloupec %(column)d neexistuje v databázi"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Rozšířené hledání"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Hledat"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Stáhnutí"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Seznam hodnocení"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Seznam formátů"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Úlohy"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Vydáno po "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Vydáno před "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Hodnocení <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Hodnocení >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-mailový server není nakonfigurován, kontaktujte svého správce!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "registrovat"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Váš e-mail nemá povolení k registraci"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Potvrzovací e-mail byl odeslán na váš účet."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Nelze aktivovat ověření LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nelze se přihlásit: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Špatné uživatelské jméno nebo heslo"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Nové heslo bylo zasláno na vaši emailovou adresu"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Nyní jste přihlášeni jako: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profil"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profil aktualizován"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Číst knihu"
@@ -1225,12 +1250,12 @@ msgstr "Uživatelé"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Přezdívka"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-mail"
@@ -1239,7 +1264,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Poslat do Kindle e-mailová adresa"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Správce"
@@ -1249,13 +1274,13 @@ msgid "Password"
msgstr "Heslo"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Nahrávat"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Stahovat"
@@ -1263,15 +1288,15 @@ msgstr "Stahovat"
msgid "View Books"
msgstr "Prohlížení knih"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Upravovat"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Smazat"
@@ -1434,7 +1459,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1660,98 +1685,98 @@ msgstr "Chyba vyhledávání!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Nebyly nalezeny žádné výsledky! Zadejte jiné klíčové slovo."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Název"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Jste si opravdu jisti?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2149,7 +2174,7 @@ msgid "Default Visibilities for New Users"
msgstr "Výchozí zobrazení pro nové uživatele"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Zobrazit náhodné knihy v podrobném zobrazení"
@@ -2232,7 +2257,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2240,7 +2265,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2264,7 +2289,7 @@ msgid "Save and Send Test E-mail"
msgstr "Uložit nastavení a odeslat zkušební e-mail"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Zpět"
@@ -2894,7 +2919,7 @@ 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:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Odstranit tohoto uživatele"
@@ -2902,93 +2927,98 @@ msgstr "Odstranit tohoto uživatele"
msgid "Generate Kobo Auth URL"
msgstr "Vygenerovat URL pro Kobo Auth"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Uživatel admin"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Zvolte uživatelské jméno"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Vaše e-mailová adresa"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Poslat do Kindle e-mailová adresa"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Zkušební e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Měřítko"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Vybrat povolené/zakázané štítky"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Vybrat povolené/zakázané štítky"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Povolit změnu hesla"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Veřejná police"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Zobrazit výběr sérií"
diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo
index 079a8d51..51b7b4b1 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 f6401cd7..0e31f12c 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2021-02-02 19:04+0100\n"
"Last-Translator: Ozzie Isaacs\n"
"Language: de\n"
@@ -30,343 +30,359 @@ msgstr "Nicht installiert"
msgid "Statistics"
msgstr "Statistiken"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Server neu gestartet, Seite bitte neu laden"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Server wird heruntergefahren, Fenster bitte schließen"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Erfolgreich neu verbunden"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Unbekannter Befehl"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Unbekannt"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Admin Seite"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Benutzeroberflächenkonfiguration"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Administrator"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Alle"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Benutzer nicht gefunden"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Zeige alle"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Konfiguration von Calibre-Web wurde aktualisiert"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Möchten Sie wirklich den Kobo Token löschen?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr "Möchten Sie wirklich diese Domain löschen?"
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr "Möchten Sie wirklich diesen Benutzer löschen?"
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Möchten Sie wirklich dieses Bücherregal löschen?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Möchten Sie wirklich dieses Bücherregal löschen?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Verbieten"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Erlauben"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json ist nicht für Web Anwendungen konfiguriert"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Zugriffs Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Bitte einen LDAP Server, Port, DN und Benutzer Objekt angeben"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Gruppen Objekt Filter benötigt genau eine \"%s\" Format Kennung"
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Gruppen Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Benutzer Objekt Filter benötigt genau eine \"%s\" Format Kennung"
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Benutzer Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "Der LDAP Member User Filter benötigt genau eine \"%s\" Formatierungsmarkierung"
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Member User Filter hat eine ungleiche Anzahl von geöffneten und geschlossenen Klammern"
-#: cps/admin.py:980
+#: cps/admin.py:1011
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:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Schlüsseldatei ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "Einstellungsdatenbank ist nicht schreibbar"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Datenbank ist nicht schreibbar"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Basiskonfiguration"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Bitte alle Felder ausfüllen!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-Mail bezieht sich nicht auf eine gültige Domain"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Neuen Benutzer hinzufügen"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Benutzer '%(user)s' angelegt"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Benutzer '%(nick)s' gelöscht"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
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:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Benutzer %(nick)s bearbeiten"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Benutzer '%(nick)s' aktualisiert"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Es ist ein unbekannter Fehler aufgetreten."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP-Einstellungen ändern"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Bitte zuerst E-Mail Adresse konfigurieren..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Einstellungen des E-Mail-Servers aktualisiert"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Benutzer nicht gefunden"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Logdatei Anzeige"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Frage Update an"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Lade Update herunter"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Entpacke Update"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Ersetze Dateien"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Schließe Datenbankverbindungen"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Stoppe Server"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Update fehlgeschlagen:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP Fehler"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Timeout beim Verbindungsaufbau"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Allgemeiner Fehler"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Updatedatei konnte nicht in Temporärem Ordner gespeichert werden"
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fehler: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr "{} Benutzer erfolgreich importiert"
@@ -386,90 +402,90 @@ msgstr "Buch Format erfolgreich gelöscht"
msgid "Book Successfully Deleted"
msgstr "Buch erfolgreich gelöscht"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "Metadaten editieren"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s ist keine gültige Sprache"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Dateiendung '%(ext)s' kann nicht auf diesen Server hochgeladen werden"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Fehler beim Speichern der Datei %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Datenbankfehler: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "IDs unterscheiden nicht Groß-Kleinschreibung, alte ID wird überschrieben"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadaten wurden erfolgreich aktualisiert"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Fehler beim Editieren des Buchs, Details im Logfile"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Das hochgeladene Buch existiert evtl. schon in der Bibliothek: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Die Datei %(filename)s konnte nicht im temporären Ordner gespeichert werden"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Fehler beim Verschieben der Cover Datei %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Datei %(file)s hochgeladen"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Quell- oder Zielformat für Konvertierung fehlt"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Buch wurde erfolgreich für die Konvertierung nach %(book_format)s eingereiht"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Es trat ein Fehler beim Konvertieren des Buches auf: %(res)s"
@@ -650,64 +666,72 @@ msgstr "Bitte nicht von \"localhost\" auf Calibre-Web zugreifen, um einen gülti
msgid "Kobo Setup"
msgstr "Kobo Setup"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Anmelden mit %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Verbindung mit %(oauth)s erfolgreich"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Login fehlgeschlagen, es ist kein Benutzer mit diesem Account verbunden"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Verbindung zu %(oauth)s erfolgreich getrennt"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Verbindung mit %(oauth)s fehlgeschlagen"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "Nicht mit %(oauth)s verbunden"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Login mit Github fehlgeschlagen."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Laden der Benutzerinformationen von Github fehlgeschlagen."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Login mit Google fehlgeschlagen."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Laden der Benutzerinformationen von Google fehlgeschlagen."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth Fehler, bitte später erneut versuchen."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth Fehler, bitte später erneut versuchen."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -717,7 +741,7 @@ msgstr "Alle"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "Login"
@@ -733,7 +757,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:414
msgid "Books"
msgstr "Bücher"
@@ -754,20 +778,20 @@ msgid "Downloaded Books"
msgstr "Heruntergeladene Bücher"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr "Zeige heruntergeladene Bücher"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Best bewertete Bücher"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Gelesene Bücher"
@@ -776,7 +800,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Ungelesene Bücher"
@@ -788,54 +812,55 @@ msgstr "Zeige Ungelesene"
msgid "Discover"
msgstr "Entdecke"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Zeige zufällige Bücher"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategorien"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Zeige Kategorienauswahl"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Serien"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Zeige Serienauswahl"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autoren"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Zeige Autorenauswahl"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Verleger"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Zeige Verlegerauswahl"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Sprachen"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Zeige Sprachauswahl"
@@ -843,7 +868,7 @@ msgstr "Zeige Sprachauswahl"
msgid "Ratings"
msgstr "Bewertungen"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Zeige Bewertungsauswahl"
@@ -851,23 +876,23 @@ msgstr "Zeige Bewertungsauswahl"
msgid "File formats"
msgstr "Dateiformate"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Zeige Dateiformatauswahl"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Archivierte Bücher"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Zeige archivierte Bücher"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "Bücherliste"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "Zeige Bücherliste"
@@ -995,190 +1020,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Zufällige Bücher"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Beliebte Bücher (am meisten Downloads)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Von %(user)s heruntergeladene Bücher"
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Author: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Verleger: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Bewertung: %(rating)s Sterne"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Dateiformat: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Sprache: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, 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"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Erweiterte Suche"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Suche"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Bewertungsliste"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Liste der Dateiformate"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Aufgaben"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Herausgegeben nach dem "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Herausgegeben vor dem "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Bewertung <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Bewertung >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lesestatus = %(status)s"
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "Registieren"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "LDAP-Authentifizierung kann nicht aktiviert werden"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Login nicht erfolgreich: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Falscher Benutzername oder Passwort"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Eingeloggt als: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's Profil"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profil aktualisiert"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Lese ein Buch"
@@ -1226,12 +1251,12 @@ msgstr "Benutzerliste"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Benutzername"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-Mail"
@@ -1240,7 +1265,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Admin"
@@ -1250,13 +1275,13 @@ msgid "Password"
msgstr "Passwort"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Upload"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Download"
@@ -1264,15 +1289,15 @@ msgstr "Download"
msgid "View Books"
msgstr "Bücher ansehen"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Editieren"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Löschen"
@@ -1435,7 +1460,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1661,98 +1686,98 @@ msgstr "Fehler bei der Suche!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "Dieses Feld ist erforderlich"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "Buchauswahl zusammenführen"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "Auswahl aufheben"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "Titelsortierung automatisch aktualisieren"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "Autorensortierung automatisch aktualisieren"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "Titel eingeben"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titel"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr "Titelsortierung eingeben"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr "Titelsortierung"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr "Autorensortierung eingeben"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr "Autorensortierung"
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr "Autoren eingeben"
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr "Kategorien eingeben"
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr "Serie eingeben"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr "Titel eingeben"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr "Serienindex"
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr "Sprache eingeben"
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr "Herausgabedatum"
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr "Herausgeber eingeben"
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Sicher?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr "Bücher werden zusammengeführt. Von Titel:"
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr "In Buch mit Titel:"
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "Zusammenführen"
@@ -2150,7 +2175,7 @@ msgid "Default Visibilities for New Users"
msgstr "Standard-Sichtbarkeiten für neue Benutzer"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Zeige zufällige Bücher in der Detailansicht"
@@ -2233,7 +2258,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2241,7 +2266,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2265,7 +2290,7 @@ msgid "Save and Send Test E-mail"
msgstr "Einstellungen speichern und Test-E-Mail versenden"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Zurück"
@@ -2895,7 +2920,7 @@ msgstr "Erzeugen/Ansehen"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Benutzer löschen"
@@ -2903,94 +2928,99 @@ msgstr "Benutzer löschen"
msgid "Generate Kobo Auth URL"
msgstr "Kobo Auth URL erzeugen"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
#, fuzzy
msgid "Select..."
msgstr "Auswahl"
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Administrator"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Wähle einen Benutzernamen"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Deine E-Mail-Adresse"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Test-E-Mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Skalierung"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Erlaubte/verbotene Tags auswählen"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Erlaubte/verbotene Tags auswählen"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Ändern des Passworts erlauben"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Öffentliches Bücherregal"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Zeige Serienauswahl"
diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo
index cae725f5..fa18bf18 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 8a6e8ab3..8240c1ba 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Depountis Georgios\n"
"Language: el\n"
@@ -29,343 +29,359 @@ msgstr "δεν εγκαταστάθηκε"
msgid "Statistics"
msgstr "Στατιστικά"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Ο διακομιστής επανεκκίνησε, παρακαλούμε φόρτωσε ξανά τη σελίδα"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Πραγματοποιείται κλείσιμο του διακομιστή, παρακαλούμε κλείσε το παράθυρο"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Επιτυχής επανασύνδεση"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Άγνωστη εντολή"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "ʼΑγνωστο"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Σελίδα διαχειριστή"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "UI Διαμόρφωση"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Χρήστης Διαχειριστής"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Όλα"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Δεν βρέθηκε χρήστης"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Προβολή Όλων"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Απόρριψη"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Επιτρέπεται"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json Δεν Έχει Διαμορφωθεί Για Διαδικτυακή Εφαρμογή"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Φύλλο Καταγραφής Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Πρόσβαση Φύλλου Καταγραφης Τοποθεσίας δεν είναι έγκυρη, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Παρακαλούμε Συμπλήρωσε ένα Πάροχο LDAP, Θύρα, DN και Αντικείμενο Αναγνώρισης Χρήστη"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "Οι ρυθμίσεις DB δεν μπορούν να Γραφτούν"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Η DB δεν μπορεί να Γραφτεί"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Βασική Διαμόρφωση"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "Το E-mail δεν είναι από έγκυρο domain"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Προσθήκη νέου χρήστη"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη."
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Επεξεργασία χρήστη %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Προέκυψε ένα άγνωστο σφάλμα."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s"
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Δεν βρέθηκε χρήστης"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Προβολέας αρχείου φύλλου καταγραφής"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Αίτημα πακέτου ενημέρωσης"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Κατεβάζει πακέτο ενημέρωσης"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Ανοίγει πακέτο ενημέρωσης"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Αντικατάσταση αρχείων"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Σταματάει το διακομιστή"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Η ενημέρωση απέτυχε:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP Σφάλμα"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Γενικό σφάλμα"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε"
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Σφάλμα: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -385,90 +401,90 @@ msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς"
msgid "Book Successfully Deleted"
msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Σφάλμα ανοίγματος eBook. Το αρχείο δεν υπάρχει ή το αρχείο δεν είναι προσβάσιμο"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "επεξεργασία μεταδεδομένων"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s δεν είναι μια έγκυρη γλώσσα"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Το αρχείο προς ανέβασμα πρέπει να έχει μια επέκταση"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η άδεια απορρήφθηκε)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Σφάλμα βάσης δεδομένων: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Μορφή αρχείου %(ext)s προστέθηκε σε %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Τα αναγνωριστικά δεν έχουν Διάκριση Πεζών-Κεφαλαίων Γραμμάτων, Αντικατάσταση Παλιού Αναγνωριστικού"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Τα μεταδεδομένα ενημερώθηκαν επιτυχώς"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Σφάλμα επεξεργασίας βιβλίου, παρακαλούμε έλεγξε το φύλλο καταγραφής για λεπτομέρειες"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Το βιβλίο που ανέβηκε πιθανόν να υπάρχει στη βιβλιοθήκη, σκέψου να το αλλάξεις πριν ανεβάσεις νέο: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Το αρχείο %(filename)s δεν μπόρεσε να αποθηκευτεί σε temp dir"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Αποτυχία Μετακίνησης Αρχείου Φόντου %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Το αρχείο %(file)s ανέβηκε"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Η δομή πηγής ή προορισμού για μετατροπή λείπει"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Το βιβλίο είναι σε σειρά επιτυχώς για μετατροπή σε %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Υπήρξε ένα σφάλμα στη μετατροπή αυτού του βιβλίου: %(res)s"
@@ -649,64 +665,72 @@ msgstr "Παρακαλούμε λάβε πρόσβαση στο calibre-web απ
msgid "Kobo Setup"
msgstr "Καθορισμός Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Εγγραφή με %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Η Σύνδεση στο %(oauth)s Πέτυχε"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Η σύνδεση απέτυχε, Δεν Υπάρχει Συνδεδεμένος Χρήστης Με Λογαριασμό OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Η αφαίρεση σύνδεσης με το %(oauth)s Πέτυχε"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Η αφαίρεση σύνδεσης με το %(oauth)s Απέτυχε"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "Δεν Είναι Συνδεδεμένο με το %(oauth)s"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Αποτυχία σύνδεσης με GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Αποτυχία συγκέντρωσης πληροφοριών χρήστη από το GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Αποτυχία σύνδεσης με το Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Αποτυχία συγκέντρωσης πληροφοριών χρήστη από το Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth σφάλμα, παρακαλούμε δοκίμασε ξανά αργότερα."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth σφάλμα, παρακαλούμε δοκίμασε ξανά αργότερα."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -716,7 +740,7 @@ msgstr "Όλα"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "σύνδεση"
@@ -732,7 +756,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:414
msgid "Books"
msgstr "Βιβλία"
@@ -753,20 +777,20 @@ msgid "Downloaded Books"
msgstr "Κατεβασμένα Βιβλία"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr "Προβολή Κατεβασμένων Βιβλίων"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Βιβλία με Κορυφαία Αξιολόγηση"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr "Προβολή Βιβλίων με Κορυφαία Αξιολόγηση"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Βιβλία που Διαβάστηκαν"
@@ -775,7 +799,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Βιβλία που δεν Διαβάστηκαν"
@@ -787,54 +811,55 @@ msgstr "Προβολή αδιάβαστων"
msgid "Discover"
msgstr "Ανακάλυψε"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Προβολή τυχαίων βιβλίων"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Κατηγορίες"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Προβολή επιλογών κατηγορίας"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Σειρές"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Προβολή επιλογών σειράς"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Συγγραφείς"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Προβολή επιλογών συγγραφέα"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Εκδότες"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Προβολή επιλογών εκδότη"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Γλώσσες"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Προβολή επιλογών γλώσσας"
@@ -842,7 +867,7 @@ msgstr "Προβολή επιλογών γλώσσας"
msgid "Ratings"
msgstr "Αξιολογήσεις"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Προβολή επιλογών αξιολόγησης"
@@ -850,23 +875,23 @@ msgstr "Προβολή επιλογών αξιολόγησης"
msgid "File formats"
msgstr "Μορφές αρχείου"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Προβολή επιλογών μορφής αρχείου"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Αρχειοθετημένα Βιβλία"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Προβολή αρχειοθετημένων βιβλίων"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "Λίστα Βιβλίων"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "Προβολή Λίστας Βιβλίων"
@@ -994,190 +1019,190 @@ msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε
msgid "No release information available"
msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποδέσμευσης"
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Ανακάλυψε (Τυχαία Βιβλία)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Βιβλία στη Μόδα (Με τα περισσότερα κατεβάσματα)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Κατεβασμένα βιβλία από %(user)s"
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Συγγραφέας: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Εκδότης: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Σειρές: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Αξιολόγηση: %(rating)s stars"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Μορφή αρχείου: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Κατηγορία: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Γλώσσα: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Προχωρημένη Αναζήτηση"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Αναζήτηση"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Κατεβασμένα"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Λίστα αξιολογήσεων"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Λίστα μορφών αρχείου"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Εργασίες"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Εκδόθηκε μετά"
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Εκδόθηκε πριν"
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Αξιολόγηση <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Αξιολόγηση >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(kindlemail)s"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Oυπς! Υπήρξε ένα σφάλμα κατά την αποστολή αυτού του βιβλίου: %(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Παρακαλούμε ενημέρωσε το προφίλ σου με μια έγκυρη Διεύθυνση E-mail Αποστολής στο Kindle."
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "εγγραφή"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να εγγραφεί"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Εναλλακτική Σύνδεση ως: '%(nickname)s', Ο Διακομιστής LDAP δεν είναι προσβάσιμος, ή ο χρήστης δεν είναι γνωστός"
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Δεν μπόρεσε να συνδεθεί: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Έχεις συνδεθεί ως: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's προφίλ"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Το προφίλ ενημερώθηκε"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Διάβασε ένα Βιβλίο"
@@ -1225,12 +1250,12 @@ msgstr "Χρήστες"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Όνομα Χρήστη"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Διεύθυνση E-mail"
@@ -1239,7 +1264,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Διεύθυνση E-mail Αποστολής στο Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Διαχειριστής"
@@ -1249,13 +1274,13 @@ msgid "Password"
msgstr "Κωδικός"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Ανέβασμα"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Κατέβασμα"
@@ -1263,15 +1288,15 @@ msgstr "Κατέβασμα"
msgid "View Books"
msgstr "Προβολή Βιβλίων"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Επεξεργασία"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Διαγραφή"
@@ -1434,7 +1459,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1660,98 +1685,98 @@ msgstr "Σφάλμα αναζήτησης!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Δεν βρέθηκε(αν) αποτέλεσμα(τα)! Παρακαλούμε δοκίμασε μια άλλη λέξη κλειδί."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "Αυτό το Πεδίο Απαιτείται"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "Συγχώνευση επιλεγμένων βιβλίων"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "Αφαίρεση Επιλογών"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "Ενημέρωση Ταξινόμησης Τίτλων αυτόματα"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "Ενημέρωση Ταξινίμησης Συγγραφέα αυτόματα"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "Εισαγωγή Τίτλου"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Τίτλος"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr "Εισαγωγή Ταξινόμησης Τίτλου"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr "Ταξινόμηση Τίτλου"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr "Εισαγωγή Ταξινόμησης Συγγραφέας"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr "Ταξινόμηση Συγγραφέα"
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr "Εισαγωγή Συγγραφέων"
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr "Εισαγωγή Κατηγοριών"
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr "Εισαγωγή Σειρών"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr "Εισαγωγή τίτλου"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr "Ευρετήριο Σειρών"
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr "Εισαγωγή Γλωσσών"
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr "Ημερομηνία Έκδοσης"
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr "Εισαγωγή Εκδοτών"
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Είσαι πραγματικά σίγουρος/η;"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr "Βιβλία με Τίτλους θα ενωθούν από:"
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr "Μέσα σε Βιβλίο με Τίτλο:"
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "Συγχώνευση"
@@ -2149,7 +2174,7 @@ msgid "Default Visibilities for New Users"
msgstr "Προκαθορισμένες Ορατότηες για Νέους Χρήστες"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Προβολή Τυχαίων Βιβλίων σε Προβολή Λεπτομερειών"
@@ -2232,7 +2257,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2240,7 +2265,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2264,7 +2289,7 @@ msgid "Save and Send Test E-mail"
msgstr "Αποθήκευση και Αποστολή E-mail Δοκιμής"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Πίσω"
@@ -2894,7 +2919,7 @@ msgstr "Δημιουγία/Προβολή"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Προσθήκη Τιμών Ειδικά Προσαρμοσμένης Στήλης επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Διαγραφή Χρήστη"
@@ -2902,93 +2927,98 @@ msgstr "Διαγραφή Χρήστη"
msgid "Generate Kobo Auth URL"
msgstr "Δημιουργία Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Χρήστης Διαχειριστής"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Επιλογή ενός ονόματος χρήστη"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Η διεύθυνση email σου"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Διεύθυνση E-mail Αποστολής στο Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Δοκιμαστικό e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Κλίμακα"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Επιλογή Ετικετών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Επιλογή Ετικετών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Να Επιτρέπεται η Αλλαγή Κωδικού"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Δημόσιο Ράφι"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Προβολή επιλογών σειράς"
diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo
index e4aac4df..0136011f 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 dfebc5a9..9a13e65a 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-05-25 17:22+0200\n"
"Last-Translator: minakmostoles \n"
"Language: es\n"
@@ -33,343 +33,359 @@ msgstr "no instalado"
msgid "Statistics"
msgstr "Estadísticas"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Servidor reiniciado. Por favor, recargue la página"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "El servidor se está apagando. Por favor, cierre la ventana"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Reconexión correcta"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Comando desconocido"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Desconocido"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Página de administración"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Configuración de la interfaz de usuario"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Usuario administrador"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Todo"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Usuario no encontrado"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Mostrar todo"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Configuración de Calibre-Web actualizada"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "¿Realmente quieres borrar el Token de Kobo?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "¿Realmente quiere eliminar este estante?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "¿Realmente quiere eliminar este estante?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Denegar"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Permitir"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json no está configurado para la aplicación web"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Logfile no es válida. Por favor, introduzca la ruta correcta"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Access Logfile no es válida. Por favor, introduzca la ruta correcta"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Por favor, introduzca un proveedor LDAP, puerto, DN y el User Object Identifier"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Keyfile no es válida, por favor, introduzca la ruta correcta"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta de Certfile no es válida, por favor, introduzca la ruta correcta"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "La base de datos de configuración no es modificable"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "La ruta de la base de datos no es válida. Por favor, introduzca la ruta correcta"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "La base de datos no es modificable"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Configuración básica"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "¡Por favor, completa todos los campos!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "El correo electrónico no tiene un dominio válido"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Añadir un nuevo usuario"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' borrado"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuario %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Ocurrió un error desconocido."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Cambiar parámetros de correo"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure su correo electrónico primero..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Actualizados los ajustes del servidor de correo electrónico"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Usuario no encontrado"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Contraseña para el usuario %(user)s reinicializada"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
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:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura primero los parámetros del servidor SMTP..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Visor del fichero de log"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Solicitando paquete de actualización"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Descargando paquete de actualización"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Descomprimiendo paquete de actualización"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Remplazando archivos"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Los conexiones con la base datos están cerradas"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Parando el servidor"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Falló la actualización:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Error HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Error de conexión"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Tiempo agotado mientras se trataba de establecer la conexión"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Error general"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Error: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Error: el servidor LDAP no ha devuelto ningún usuario"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
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:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -389,90 +405,90 @@ msgstr "Formato de libro borrado correctamente"
msgid "Book Successfully Deleted"
msgstr "Libro borrado correctamente"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Error abriendo un eBook. El archivo no existe o no es accesible"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "editar metadatos"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s no es un idioma válido"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "No se permite subir archivos con la extensión '%(ext)s' a este servidor"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "El archivo a subir debe tener una extensión"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Fallo al crear la ruta %(path)s (permiso denegado)"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Fallo al guardar el archivo %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Error en la base de datos: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Archivo con formato %(ext)s añadido a %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadatos actualizados correctamente"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Error al editar el libro, por favor, compruebe el archivo de registro (logfile) para tener más detalles"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "El libro cargado probablemente existe en la biblioteca, considera cambiarlo antes de subirlo de nuevo: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "El archivo %(filename)s no pudo salvarse en el directorio temporal (Temp Dir)"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Fallo al mover el archivo de cubierta %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "El fichero %(file)s ha sido subido"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Falta la fuente o el formato de destino para la conversión"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Libro puesto a la cola para su conversión a %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Ocurrió un error al convertir este libro: %(res)s"
@@ -653,64 +669,72 @@ msgstr "Por favor, accede a calibre-web desde una ubicación que no sea localhos
msgid "Kobo Setup"
msgstr "Configuración de Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Registrado con %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "has iniciado sesión como : '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "El enlace a %(oauth)s se ha realizado correctamente"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Acceso erróneo, ningún usuario enlazado con la cuenta OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "%(oauth)s desenlazado con éxito"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Error al desenlazar %(oauth)s"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "No vinculado con %(oauth)s"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Error al iniciar sesión con GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Error al obtener la información del usuario de GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Error al iniciar sesión con Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Error al obtener información del usuario de Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "Error en GitHub Oauth, por favor, vuelva a intentarlo más tarde."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Error en Google Oauth, por favor vuelva a intentarlo más tarde."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -720,7 +744,7 @@ msgstr "Todo"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "iniciar sesión"
@@ -736,7 +760,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:414
msgid "Books"
msgstr "Libros"
@@ -757,20 +781,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Libros mejor valorados"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Libros leídos"
@@ -779,7 +803,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Libros no leídos"
@@ -791,54 +815,55 @@ msgstr "Mostrar no leído"
msgid "Discover"
msgstr "Descubrir"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Mostrar libros al azar"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Categorías"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Mostrar selección de categorías"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Series"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Mostrar selección de series"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autores"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Mostrar selección de autores"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Editores"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Mostrar selección de editores"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Idiomas"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Mostrar selección de idiomas"
@@ -846,7 +871,7 @@ msgstr "Mostrar selección de idiomas"
msgid "Ratings"
msgstr "Calificaciones"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Mostrar selección de calificaciones"
@@ -854,23 +879,23 @@ msgstr "Mostrar selección de calificaciones"
msgid "File formats"
msgstr "Formatos de archivo"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Mostrar selección de formatos de archivo"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Libros archivados"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Mostrar libros archivados"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -998,190 +1023,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Descubrir (Libros al azar)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Libros populares (los más descargados)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Autor/es: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor/es: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Series: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Calificación: %(rating)s estrellas"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del archivo: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Categoría : %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Búsqueda avanzada"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Buscar"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Descargas"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Lista de calificaciones"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Lista de formatos"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Tareas"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Publicado después de "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Calificación <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Calificación >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "El servidor de E-Mail no está configurado, por favor, ¡avisa a tu administrador!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "registrarse"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Su correo electrónico no está permitido para registrarse"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "No se puede activar la autenticación LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "No se pudo entrar: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Usuario o contraseña inválido"
-#: cps/web.py:1465
+#: cps/web.py:1499
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:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Por favor, introduce un usuario válido para restablecer la contraseña"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ahora estás conectado como: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Perfil actualizado"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Leer un libro"
@@ -1229,12 +1254,12 @@ msgstr "Lista de usuarios"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Nombre de usuario"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Correo electrónico"
@@ -1243,7 +1268,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Enviar al correo de Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Admin"
@@ -1253,13 +1278,13 @@ msgid "Password"
msgstr "Contraseña"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Subir archivo"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Descargar"
@@ -1267,15 +1292,15 @@ msgstr "Descargar"
msgid "View Books"
msgstr "Ver libros"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Editar"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Borrar"
@@ -1438,7 +1463,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1664,98 +1689,98 @@ msgstr "¡Error en la búsqueda!"
msgid "No Result(s) found! Please try another keyword."
msgstr "¡No se encontraron resultados! Por favor intenta con otra palabra clave."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Título"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "¿Estás realmente seguro?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2153,7 +2178,7 @@ msgid "Default Visibilities for New Users"
msgstr "Visibilidad predeterminada para nuevos usuarios"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Mostrar libros aleatorios en la vista detallada"
@@ -2236,7 +2261,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2244,7 +2269,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2268,7 +2293,7 @@ msgid "Save and Send Test E-mail"
msgstr "Guardar ajustes y enviar un correo electrónico de prueba"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Regresar"
@@ -2898,7 +2923,7 @@ 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:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Borrar usuario"
@@ -2906,93 +2931,98 @@ msgstr "Borrar usuario"
msgid "Generate Kobo Auth URL"
msgstr "Generar Auth URL de Kobo"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Usuario administrador"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Escoger un nombre de usuario"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Tu dirección de correo"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Enviar al correo de Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Comprobar correo electrónico"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Escalar"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Seleccionar etiquetas Permitidas/Denegadas"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Seleccionar etiquetas Permitidas/Denegadas"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Añadir valores personalizados Permitidos/Denegados"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Añadir valores personalizados Permitidos/Denegados"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Añadir valores personalizados Permitidos/Denegados"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Añadir valores personalizados Permitidos/Denegados"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Permitir cambiar la contraseña"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Estantería pública"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Mostrar selección de series"
diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo
index 5639951d..7193b05a 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 03231a13..5de052fc 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
"Last-Translator: Samuli Valavuo \n"
"Language: fi\n"
@@ -30,343 +30,359 @@ msgstr "ei asennettu"
msgid "Statistics"
msgstr "Tilastot"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Palvelin uudelleenkäynnistetty, ole hyvä ja päivitä sivu"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Palvelinta sammutetaan, ole hyvä ja sulje sivu"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Tuntematon"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Ylläpitosivu"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Käyttöliittymän asetukset"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Pääkäyttäjä"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Kaikki"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Näytä kaikki"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web asetukset päivitetty"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Perusasetukset"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Ole hyvä ja täytä kaikki kentät!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "Sähköpostiosoite ei ole toimivasta domainista"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Lisää uusi käyttäjä"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Käyttäjä '%(user)s' lisätty"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Käyttäjä '%(nick)s' poistettu"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
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:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Muokkaa käyttäjää %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Käyttäjä '%(nick)s' päivitetty"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Tapahtui tuntematon virhe."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Muuta SMTP asetuksia"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Sähköpostipalvelimen tiedot päivitetty"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Käyttäjän %(user)s salasana palautettu"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Lokitiedoston katselin"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Haetaan päivitystiedostoa"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Ladataan päivitystiedostoa"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Puretaan päivitystiedostoa"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Korvataan tiedostoja"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Tietokantayhteydet on katkaistu"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Sammutetaan palvelin"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Päivitys epäonnistui:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP virhe"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Yhteysvirhe"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Aikakatkaisu yhteyttä luotaessa"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Yleinen virhe"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -386,90 +402,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Virhe e-kirjaa avatessa. Tiedostoa ei löydy tai se ei ole saatavilla"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "muokkaa metadataa"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s ei ole kelvollinen kieli"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Tiedostopääte '%(ext)s' ei ole sallittujen palvelimelle ladattavien listalla"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Ladattavalla tiedostolla on oltava tiedostopääte"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Tiedoston %(file)s tallennus epäonnistui."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadata päivitetty onnistuneesti"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Kirjan editoinnissa tapahtui virhe, tarkista virheilmoitus lokista"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Tiedosto %(file)s tallennettu"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Lähteen tai kohteen tiedostomuoto puuttuu"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s"
@@ -650,64 +666,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Rekisteröi tuottajalle %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\""
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "GitHubiin kirjautuminen epäonnistui."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Käyttäjätietojen haku GitHubista epäonnistui"
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Googleen kirjautuminen epäonnistui."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Käyttäjätietojen haku Googlesta epäonnistui."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth virhe, yritä myöhemmin uudelleen."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth virhe, yritä myöhemmin uudelleen."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -717,7 +741,7 @@ msgstr "Kaikki"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "kirjaudu"
@@ -733,7 +757,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:414
msgid "Books"
msgstr "Kirjat"
@@ -754,20 +778,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Parhaiten arvioidut kirjat"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Luetut kirjat"
@@ -776,7 +800,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Lukemattomat kirjat"
@@ -788,54 +812,55 @@ msgstr "Näyt lukemattomat"
msgid "Discover"
msgstr "Löydä"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Näytä satunnaisia kirjoja"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategoriat"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Näytä kategoriavalinta"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Sarjat"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Näytä sarjavalinta"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Kirjailijat"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Näytä kirjailijavalinta"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Julkaisijat"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Näytä julkaisijavalinta"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Kielet"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Näytä keilivalinta"
@@ -843,7 +868,7 @@ msgstr "Näytä keilivalinta"
msgid "Ratings"
msgstr "Arvostelut"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Näytä arvosteluvalinta"
@@ -851,23 +876,23 @@ msgstr "Näytä arvosteluvalinta"
msgid "File formats"
msgstr "Tiedotomuodot"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Näytä tiedostomuotovalinta"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -995,190 +1020,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Löydä (satunnaiset kirjat)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Kuumat kirjat (ladatuimmat)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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:"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Kirjailija: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Julkaisija: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Sarja: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Arvostelu: %(rating)s tähteä"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Tiedostomuoto: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Kieli: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Edistynyt haku"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Hae"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Arvostelulistaus"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Tiedostomuotolistaus"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Tehtävät"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Julkaistu alkaen "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Julkaisut ennen "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Arvostelu <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Arvostelu >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "rekisteröidy"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "LDAP autnetikoinnin aktivointi ei onnistu"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Väärä käyttäjätunnus tai salasana"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "olet kirjautunut tunnuksella: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)sn profiili"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profiili päivitetty"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Lue kirja"
@@ -1226,12 +1251,12 @@ msgstr "Käyttäjälista"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Lempinimi"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Sähköposti"
@@ -1240,7 +1265,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Ylläpito"
@@ -1250,13 +1275,13 @@ msgid "Password"
msgstr "Salasana"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Lähetä"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Lataa"
@@ -1264,15 +1289,15 @@ msgstr "Lataa"
msgid "View Books"
msgstr "Näytä ekirjat"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Muokkaa"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Poista"
@@ -1435,7 +1460,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1661,98 +1686,98 @@ msgstr "Hakuvirhe!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Ei osumia! Kokeile jotain tosita hakusanaa."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Otsikko"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Oletko aivan varma?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2150,7 +2175,7 @@ msgid "Default Visibilities for New Users"
msgstr "Oletusnäkymä uusille käyttäjille"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Näytä satunnaisia kirjoja näkymässä"
@@ -2233,7 +2258,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2241,7 +2266,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2265,7 +2290,7 @@ msgid "Save and Send Test E-mail"
msgstr "Tallenna asetukset ja testaa sähköpostia"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Palaa"
@@ -2895,7 +2920,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Poista tämä käyttäjä"
@@ -2903,87 +2928,92 @@ msgstr "Poista tämä käyttäjä"
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Pääkäyttäjä"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Valitse käyttäjänimi"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Sähköpostiosoitteesi"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Testi sähköposti"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Skaalaa"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Salli sananan vaihto"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Muokkaa hyllyä"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Näytä sarjavalinta"
diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo
index cfb45fca..81a09223 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 c965d092..247135ce 100644
--- a/cps/translations/fr/LC_MESSAGES/messages.po
+++ b/cps/translations/fr/LC_MESSAGES/messages.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-06-07 06:47+0200\n"
"Last-Translator: Dekani \n"
"Language: fr\n"
@@ -44,343 +44,359 @@ msgstr "non installé"
msgid "Statistics"
msgstr "Statistiques"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Serveur redémarré, merci de rafraîchir la page"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Arrêt du serveur en cours, merci de fermer la fenêtre"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Reconnecté avec succès"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Commande inconnue"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Inconnu"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Page admin"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Configuration de l’interface utilisateur"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Utilisateur admin"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Tout"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "L'utilisateur n'a pas été trouvé"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Montrer tout"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Configuration de Calibre-Web mise à jour"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Voulez-vous vraiment supprimer le jeton Kobo?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Voulez-vous vraiment supprimer l’étagère?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Voulez-vous vraiment supprimer l’étagère?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Refuser"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Autoriser"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json n'est pas configuré pour l'application Web"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier logfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Access Logfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Veuillez saisir un fournisseur LDAP, Port, DN et l'identifiant objet de l'utilisateur"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Le filtre objet du groupe LDAP a besoin d'un identifiant de format \"%s\""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Le filtre objet du groupe LDAP a une parenthèse non gérée"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Le filtre objet de l'utilisateur LDAP a besoin d'un identifiant de format \"%s\""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Le filtre objet de l'utilisateur LDAP a une parenthèse non gérée"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Keyfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Certfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement DB est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "La DB n'est pas accessible en écriture"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Configuration principale"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Veuillez compléter tous les champs !"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Ajouter un nouvel utilisateur"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Utilisateur '%(user)s' créé"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Utilisateur '%(nick)s' supprimé"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Éditer l'utilisateur %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Utilisateur '%(nick)s' mis à jour"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Oups ! Une erreur inconnue a eu lieu."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Modifier les paramètres du serveur de courriels"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Veuillez d'abord configurer votre adresse de courriel..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Les paramètres du serveur de courriels ont été mis à jour"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "L'utilisateur n'a pas été trouvé"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, 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:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Veuillez configurer les paramètres SMTP au préalable..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Visualiseur de fichier journal"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Demande de mise à jour"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Téléchargement de la mise à jour"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Décompression de la mise à jour"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Remplacement des fichiers"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Les connexions à la base de données ont été fermées"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Arrêt du serveur"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "La mise à jour a échoué :"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Erreur HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Erreur de connexion"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Délai d'attente dépassé lors de l'établissement de connexion"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Erreur générale"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erreur : %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
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:1579
+#: cps/admin.py:1624
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:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -400,90 +416,90 @@ 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:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Erreur à l’ouverture du livre. Le fichier n’existe pas ou n’est pas accessible"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "modifier les métadonnées"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s n'est pas une langue valide"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "L’extension de fichier '%(ext)s' n’est pas autorisée pour être déposée sur ce serveur"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Pour être déposé le fichier doit avoir une extension"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Impossible de créer le chemin %(path)s (Permission refusée)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Échec de la sauvegarde du fichier %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Erreur de la base de données: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Les métadonnées ont bien été mises à jour"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Erreur d’édition du livre, veuillez consulter le journal (log) pour plus de détails"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Le fichier téléchargé existe probablement dans la librairie, veuillez le modifier avant de le télécharger de nouveau: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Le fichier %(filename)s ne peut pas être sauvegardé dans le répertoire temporaire"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Impossible de déplacer le fichier de couverture %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Le fichier %(file)s a été téléchargé"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Le format de conversion de la source ou de la destination est manquant"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Le livre a été mis avec succès en file de traitement pour conversion vers %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Une erreur est survenue au cours de la conversion du livre : %(res)s"
@@ -664,64 +680,72 @@ msgstr "Veuilllez ne pas accéder à calibre-web par localhost pour obtenir un a
msgid "Kobo Setup"
msgstr "Configuration Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Enregistrer avec %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "vous êtes maintenant connecté comme : '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Lien vers %(oauth)s effectué avec succès"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "La connexion a échoué, aucun utilisateur lié au compte OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Suppression de la liaison vers %(oauth)s effectuée avec succès"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Suppression de la liaison vers %(oauth)s a échoué"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Échec de la connexion avec GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Impossible d’obtenir les informations d’utilisateur à partir de GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Échec de la connexion avec Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Impossible d’obtenir les informations d’utilisateur avec Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "Erreur Oauth GitHub, veuillez réessayer plus tard."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Erreur Oauth Google, veuillez réessayer plus tard."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -731,7 +755,7 @@ msgstr "Tout"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "connexion"
@@ -747,7 +771,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:414
msgid "Books"
msgstr "Livres"
@@ -768,20 +792,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Livres les mieux notés"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Livres lus"
@@ -790,7 +814,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Livres non-lus"
@@ -802,54 +826,55 @@ msgstr "Afficher non-lus"
msgid "Discover"
msgstr "Découvrir"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Montrer des livres au hasard"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Catégories"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Montrer la sélection par catégories"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Séries"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Montrer la sélection par séries"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Auteurs"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Montrer la sélection par auteur"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Éditeurs"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Montrer la sélection par éditeur"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Langues"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Montrer la sélection par langue"
@@ -857,7 +882,7 @@ msgstr "Montrer la sélection par langue"
msgid "Ratings"
msgstr "Notes"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Afficher la sélection des évaluations"
@@ -865,23 +890,23 @@ msgstr "Afficher la sélection des évaluations"
msgid "File formats"
msgstr "Formats de fichier"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Afficher la sélection des formats de fichiers"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Livres archivés"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Afficher les livres archivés"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -1009,190 +1034,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Découvrir (Livres au hasard)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Livres populaires (les plus téléchargés)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur : %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Éditeur : '%(name)s'"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Séries : %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Évaluation : %(rating)s étoiles"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Format de fichier : %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Catégorie : %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Langue : %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, 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"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Recherche avancée"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Chercher"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Téléchargements"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Liste des évaluations"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Liste de formats de fichiers"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Tâches"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Publié après le "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Publié avant le "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Évaluation <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Évaluation >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
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/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "s’enregistrer"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Le courriel de confirmation a été envoyé à votre adresse."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Impossible d’activer l’authentification LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Impossible de se connecter: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Mauvais nom d'utilisateur ou mot de passe"
-#: cps/web.py:1465
+#: cps/web.py:1499
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:1471
+#: cps/web.py:1505
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:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Profil de %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profil mis à jour"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Un compte existant a été trouvé pour cette adresse de courriel."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Lire un livre"
@@ -1240,12 +1265,12 @@ msgstr "Liste des utilisateurs"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Nom d'utilisateur"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Adresse de courriel"
@@ -1254,7 +1279,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Envoyer vers une adresse de courriel Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Administration"
@@ -1264,13 +1289,13 @@ msgid "Password"
msgstr "Mot de passe"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Téléverser"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Télécharger"
@@ -1278,15 +1303,15 @@ msgstr "Télécharger"
msgid "View Books"
msgstr "Afficher les livres"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Éditer"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Supprimer"
@@ -1449,7 +1474,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1675,98 +1700,98 @@ msgstr "Erreur lors de la recherche!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Aucun résultat. Veuillez essayer avec un nouveau mot clé."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titre"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Êtes-vous vraiment sûr?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2164,7 +2189,7 @@ msgid "Default Visibilities for New Users"
msgstr "Mode de visualisation par défaut pour les nouveaux utilisateurs"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Montrer aléatoirement des livres dans la vue détaillée"
@@ -2247,7 +2272,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2255,7 +2280,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2279,7 +2304,7 @@ msgid "Save and Send Test E-mail"
msgstr "Sauvegarder les réglages et tester l’envoi d’un courriel"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Retour"
@@ -2909,7 +2934,7 @@ 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:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Supprimer l'utilisateur"
@@ -2917,93 +2942,98 @@ msgstr "Supprimer l'utilisateur"
msgid "Generate Kobo Auth URL"
msgstr "Générer l'URL d'authentification Kobo"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Utilisateur admin"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Choisissez un nom d'utilisateur"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Votre adresse de courriel"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Envoyer vers une adresse de courriel Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Courriel de test"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Échelle"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Sélectionner les étiquettes autorisées/refusées"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Sélectionner les étiquettes autorisées/refusées"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Ajouter les valeurs de colonnes autorisées/refusées"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Ajouter les valeurs de colonnes autorisées/refusées"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Ajouter les valeurs de colonnes autorisées/refusées"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Ajouter les valeurs de colonnes autorisées/refusées"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Permettre le changement de mot de passe"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Étagère publique"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Montrer la sélection par séries"
diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo
index deb3e1c8..cc7e7706 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 8435d86c..67d6df6c 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
"Last-Translator: \n"
"Language: hu\n"
@@ -30,342 +30,358 @@ msgstr "nincs telepítve"
msgid "Statistics"
msgstr "Statisztika"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "A kiszolgáló újraindult, tölts be újra az oldalt!"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "A kiszolgáló leállítása folyamatban, zárd be ezt az ablakot"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Ismeretlen"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Rendszergazda oldala"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Felhasználói felület beállításai"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Rendszergazda felhasználó"
-#: cps/admin.py:263
+#: cps/admin.py:278
msgid "all"
msgstr ""
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Mindent mutass"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "A Calibre-Web konfigurációja frissítve."
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Alapvető beállítások"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Az összes mezőt ki kell tölteni!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "Az e-mail tartománya nem érvényes."
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Új felhasználó hozzáadása"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "A következő felhasználó létrehozva: %(user)s"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "A felhasználó törölve: %(nick)s"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr " A felhasználó szerkesztése: %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "A felhasználó frissítve: %(nick)s"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Ismeretlen hiba történt."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP beállítások változtatása"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Az e-mail kiszolgáló beállításai frissítve."
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, 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:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
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:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
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:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Frissítési csomag kérése"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Frissítési csomag letöltése"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Frissítési csomag kitömörítése"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Fájlok cserélése"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Adatbázis kapcsolatok lezárva"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Szerver leállítása"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "A frissítés nem sikerült:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP hiba"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Kapcsolódási hiba"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Időtúllépés a kapcsolódás során"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Általános hiba"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -385,90 +401,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Hiba az ekönyv megnyitásakor. A fájl nem létezik vagy nem elérhető."
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "Metaadatok szerkesztése"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "A(z) %(langname)s nem érvényes nyelv"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "A(z) \"%(ext)s\" kiterjesztésű fájlok feltöltése nincs engedélyezve ezen a szerveren."
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "A feltöltendő fájlnak kiterjesztéssel kell rendelkeznie!"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Nem sikerült létrehozni az elérési utat (engedély megtagadva): %(path)s."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Nem sikerült elmenteni a %(file)s fájlt."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "A(z) %(ext)s fájlformátum hozzáadva a könyvhez: %(book)s."
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "A metaadatok sikeresen frissültek"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Hiba a könyv szerkesztése során, további részletek a naplófájlban."
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Az átalakításhoz hiányzik a forrás- vagy a célformátum!"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "A könyv sikeresen átalakításra lett jelölve a következő formátumra: %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Hiba történt a könyv átalakításakor: %(res)s"
@@ -649,64 +665,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Be vagy jelentkezve mint: %(nickname)s"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr ""
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr ""
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr ""
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr ""
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr ""
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -716,7 +740,7 @@ msgstr ""
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "belépés"
@@ -732,7 +756,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:414
msgid "Books"
msgstr ""
@@ -753,20 +777,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Legjobb könyvek"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Olvasott könyvek"
@@ -775,7 +799,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Olvasatlan könyvek"
@@ -787,54 +811,55 @@ msgstr ""
msgid "Discover"
msgstr "Felfedezés"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Könyvek találomra mutatása"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Címkék"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Címke választó mutatása"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Sorozatok"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Sorozat választó mutatása"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Szerzők"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Szerző választó mutatása"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Kiadók"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Kiadó választó mutatása"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Nyelvek"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Nyelv választó mutatása"
@@ -842,7 +867,7 @@ msgstr "Nyelv választó mutatása"
msgid "Ratings"
msgstr ""
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr ""
@@ -850,23 +875,23 @@ msgstr ""
msgid "File formats"
msgstr ""
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -994,190 +1019,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Felfedezés (könyvek találomra)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Kelendő könyvek (legtöbbet letöltöttek)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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:"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Kiadó: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Sorozat: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Címke: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Nyelv: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Részletes keresés"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Keresés"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Letöltések"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr ""
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Feladatok"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Kiadva ezután: "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Kiadva ezelőtt: "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "regisztrálás"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Rossz felhasználó név vagy jelszó!"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profilja"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "A profil frissítve."
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Már létezik felhasználó ehhez az e-mail címhez."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Egy olvasott könyv"
@@ -1225,12 +1250,12 @@ msgstr "Felhasználók listája"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Felhasználói név"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-mail"
@@ -1239,7 +1264,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Rendszergazda"
@@ -1249,13 +1274,13 @@ msgid "Password"
msgstr "Jelszó"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Feltöltés"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Letöltés"
@@ -1263,15 +1288,15 @@ msgstr "Letöltés"
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Szerkesztés"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Törlés"
@@ -1434,7 +1459,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1660,98 +1685,98 @@ msgstr "Keresési hiba!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Nincs találat! Próbálj másik kulcsszót."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Név"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Biztosan?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2149,7 +2174,7 @@ msgid "Default Visibilities for New Users"
msgstr "Új felhasználók alapértelmezett látható elemei"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Mutasson könyveket találomra a részletes nézetben"
@@ -2232,7 +2257,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2240,7 +2265,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2264,7 +2289,7 @@ msgid "Save and Send Test E-mail"
msgstr "Beállítások mentése és teszt e-mail küldése"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Vissza"
@@ -2894,7 +2919,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "A felhasználó törlése"
@@ -2902,87 +2927,92 @@ msgstr "A felhasználó törlése"
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Rendszergazda felhasználó"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Válassz egy felhasználónevet"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Az e-mail címed"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Teszt e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Méretezés"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Jelszó változtatásának engedélyezése"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Polc szerkesztése"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Sorozat választó mutatása"
diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo
index 981d773d..29a8cf48 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 5c62edf4..ba186301 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: ElQuimm \n"
"Language: it\n"
@@ -29,343 +29,359 @@ msgstr "non installato"
msgid "Statistics"
msgstr "Statistiche"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Server riavviato, per favore ricarica la pagina"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Eseguo l'arresto del server, per favore chiudi la finestra"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Ricollegato con successo"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Comando sconosciuto"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Sconosciuto"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Pagina di amministrazione"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Configurazione dell'interfaccia utente"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
-msgstr "Utente amministratore"
+msgstr "Modifica gli utenti"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
-msgstr "Tutti"
+msgstr "tutti"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Utente non trovato"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "tutte le lingue presenti"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
+msgstr "Il nome dell'utente Guest non può essere modificato"
+
+#: cps/admin.py:362
+msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Non rimarrebbe nessun utente amministratore, non posso rimuovere il ruolo di amministratore"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "La configurazione di Calibre-Web è stata aggiornata"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Vuoi veramente eliminare il token di Kobo?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr "Vuoi veramente eliminare questo dominio?"
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr "Vuoi veramente eliminare questo utente?"
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Vuoi veramente eliminare questo scaffale?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
-msgstr "Vuoi veramente eliminare questo scaffale?"
+msgstr "Sei sicuro di voler modificare le impostazioni locali dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
-msgstr ""
+msgstr "Sei sicuro di voler modificare le impostazioni delle lingue visualizzabili dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
-msgstr ""
+msgstr "Sei sicuro di voler modificare il ruolo evidenziato dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
-msgstr ""
+msgstr "Sei sicuro di voler modificare le impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Nega"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Permetti"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json non è configurato per Web Application"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione dell'Access Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Per favore digita un Provider LDAP, porta, DN e User Object Identifier"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Group Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP User Object Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP User Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Member User Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Member User Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:980
+#: cps/admin.py:1011
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:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Keyfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Certfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "I parametri del DB non sono scrivibili"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del DB non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Il DB non è scrivibile"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Configurazione di base"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Per favore compila tutti i campi!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "L'e-mail non proviene da un dominio valido"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Aggiungi un nuovo utente"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "L'utente '%(user)s' è stato creato"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "L'utente '%(nick)s' è stato eliminato"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Modifica l'utente %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "L'utente '%(nick)s' è stato aggiornato"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Si è verificato un errore imprevisto."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Modifica le impostazioni del server e-mail"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
-msgstr ""
+msgstr "L'account g-mail è stato verificato con successo"
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
-msgstr ""
+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:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Per favore prima configura il tuo indirizzo e-mail..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Configurazione del server e-mail aggiornata"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Utente non trovato"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "La password dell'utente %(user)s è stata resettata"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Si è verificato un errore sconosciuto: per favore riprova."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura dapprima le impostazioni del server SMTP..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Visualizzatore del Logfile"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Richiedo il pacchetto di aggiornamento"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Scarico il pacchetto di aggiornamento"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Decomprimo il pacchetto di aggiornamento"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Sostituisco i file"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Le connessioni al database sono chiuse"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Arresto il server"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Aggiornamento completato, per favore premi ok e ricarica la pagina"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Aggiornamento non riuscito:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Errore HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Errore di connessione"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Tempo scaduto nello stabilire la connessione"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Errore generale"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Fallita la creazione di almeno un utente LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Errore: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Errore: nessun utente restituito in risposta dal server LDAP"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "Almeno un utente LDAP non è stato trovato nel database"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr "{} utente importato con successo"
@@ -385,90 +401,90 @@ msgstr "Il formato del libro è stato eliminato con successo"
msgid "Book Successfully Deleted"
msgstr "Il libro é stato eliminato con successo"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Errore durante l'apertura del libro. Il file non esiste o il file non è accessibile"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "modifica i metadati"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s non è una lingua valida"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Non è consentito caricare file con l'estensione '%(ext)s' su questo server"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Il file da caricare deve avere un'estensione"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Impossibile creare la cartella %(path)s (autorizzazione negata)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Il salvataggio del file %(file)s non è riuscito."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Errore nel database: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Ho aggiunto il formato %(ext)s al libro %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Gli identificatori non tengono conto delle lettere maiuscole o minuscole, sovrascrivo l'identificatore precedente"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "I metadati sono stati aggiornati con successo"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Errore nella modifica del libro. Per favore verifica i dettagli nel file di registro (logfile)"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Probabilmente il libro caricato esiste già nella libreria; considera di cambiare prima di sottoporlo nuovamente: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Il file %(filename)s non può essere salvato nella cartella temporanea"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Impossibile spostare il file della copertina %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Il file %(file)s è stato caricato"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Mancano o il formato sorgente o quello di destinazione, entrambi necessari alla conversione"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Libro accodato con successo per essere convertito in %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Si è verificato un errore durante la conversione del libro: %(res)s"
@@ -649,64 +665,72 @@ msgstr "Per favore accedi a calibe-web non da localhost per ottenere un api-endp
msgid "Kobo Setup"
msgstr "Configurazione di Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Registra con %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ora sei connesso come: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Collegamento a %(oauth)s avvenuto con successo"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Accesso non riuscito, non c'è un utente collegato all'account OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Scollegamento da %(oauth)s avvenuto con successo"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Scollegamento da %(oauth)s non riuscito"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "Non collegato a %(oauth)s"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Accesso con GitHub non è riuscito."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Il recupero delle informazioni dell'utente da GitHub non è riuscito."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "L'accesso con Google non è riuscito."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Il recupero delle informazioni dell'utente da Google non è riuscito."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub, errore Oauth: per favore riprova più tardi."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google, errore Oauth: per favore riprova più tardi."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -714,9 +738,9 @@ msgstr "Tutti"
#: cps/opds.py:385
msgid "{} Stars"
-msgstr ""
+msgstr "{} Stelle"
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "accedi"
@@ -732,7 +756,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:414
msgid "Books"
msgstr "Libri"
@@ -753,20 +777,20 @@ msgid "Downloaded Books"
msgstr "Libri scaricati"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
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:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Libri meglio valutati"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Libri da leggere"
@@ -775,7 +799,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Libri non letti"
@@ -787,54 +811,55 @@ msgstr "Mostra l'opzione per la selezione dei libri non letti"
msgid "Discover"
msgstr "Per scoprire"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Mostra l'opzione per presentare libri aleatoriamente"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Categorie"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Mostra l'opzione per la selezione delle categorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Serie"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Mostra l'opzione per la selezione delle serie"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autori"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Mostra l'opzione per la selezione degli autori"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Editori"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Mostra l'opzione per la selezione degli editori"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Lingue"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Mostra l'opzione per la selezione delle lingue"
@@ -842,7 +867,7 @@ msgstr "Mostra l'opzione per la selezione delle lingue"
msgid "Ratings"
msgstr "Valutazioni"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Mostra l'opzione per la selezione della valutazione"
@@ -850,23 +875,23 @@ msgstr "Mostra l'opzione per la selezione della valutazione"
msgid "File formats"
msgstr "Formati file"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Mostra l'opzione per la selezione del formato dei file"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Libri archiviati"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Mostra l'opzione per la selezione dei libri archiviati"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "Elenco libri"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "Mostra l'opzione per visualizzare i libri sottoforma di elenco"
@@ -994,196 +1019,196 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Scopri (libri casuali)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "I libri più richiesti"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "I libri scaricati da %(user)s"
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Autore: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editore: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Valutazione: %(rating)s stelle"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del file: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Lingua: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, 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"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Ricerca avanzata"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Cerca"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Elenco delle valutazioni"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Elenco dei formati"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Compito"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Pubblicato dopo il "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Pubblicato prima del "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Valutazione <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Valutazione >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr "Stato di lettura = %(status)s"
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
-msgstr "Si è verificato un errore durante l'invio di questo libro: %(res)s"
+msgstr "Oops! Si è verificato un errore durante l'invio di questo libro: %(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "registra"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Il tuo e-mail non è autorizzato alla registrazione"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Non posso attivare l'autenticazione LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Non posso accedere: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Nome utente o password errati"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Una nuova password è stata inviata al tuo recapito e-mail"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Per favore digita un nome di utente valido per resettare la password"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ora sei connesso come '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Profilo di %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profilo aggiornato"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Ho trovato un account creato in precedenza con questa e-mail."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Leggi un libro"
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
-msgstr ""
+msgstr "Ho trovato un gmail.json file senza informazione OAuth"
#: cps/tasks/convert.py:114
#, python-format
@@ -1225,12 +1250,12 @@ msgstr "Elenco utenti"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Utente"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-mail"
@@ -1239,7 +1264,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Invia all'email di Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Amministrazione"
@@ -1249,13 +1274,13 @@ msgid "Password"
msgstr "Password"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Upload"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Download"
@@ -1263,15 +1288,15 @@ msgstr "Download"
msgid "View Books"
msgstr "Vedi libri"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Modifica"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Elimina"
@@ -1314,11 +1339,11 @@ msgstr "E-mail da"
#: cps/templates/admin.html:84
msgid "E-Mail Service"
-msgstr ""
+msgstr "Servizio e-mail"
#: cps/templates/admin.html:85
msgid "Gmail via Oauth2"
-msgstr ""
+msgstr "Gmail via Oauth2"
#: cps/templates/admin.html:100
msgid "Configuration"
@@ -1370,11 +1395,11 @@ msgstr "Nome intestazione reverse proxy"
#: cps/templates/admin.html:153
msgid "Edit Basic Configuration"
-msgstr "Edita la configurazione di base"
+msgstr "Modifica la configurazione di base"
#: cps/templates/admin.html:154
msgid "Edit UI Configuration"
-msgstr "Edita la configurazione dell'interfaccia utente"
+msgstr "Modifica la configurazione dell'interfaccia utente"
#: cps/templates/admin.html:159
msgid "Administration"
@@ -1434,7 +1459,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1660,98 +1685,98 @@ msgstr "Errore nella ricerca!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Nessun risultato! Prova con un altro criterio di ricerca."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "Questo campo è obbligatorio"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "Unisci i libri selezionati"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "Rimuovi le selezioni"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "Aggiorna automaticamente l'ordinamento dei titoli"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "Aggiorna automaticamente l'ordinamento degli autori"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "Indica il titolo"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titolo"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr "Indica l'ordinamento del titolo"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr "Ordinamento del titolo"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr "Indica l'ordinamento dell'autore"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr "Ordinamento dell'autore"
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr "Indica gli autori"
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr "Indica le categorie"
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr "Indica le serie"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr "Indica il titolo"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr "Indice delle serie"
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr "Indica le lingue"
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr "Data di pubblicazione"
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr "Indica gli editori"
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Sei veramente sicuro?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr "I libri con il titolo vengono uniti da:"
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr "Nel libro con il titolo:"
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "Unisci"
@@ -2018,7 +2043,7 @@ msgstr "LDAP Member User Filter Detection"
#: cps/templates/config_edit.html:344
msgid "Autodetect"
-msgstr "Autodetect - determina automaticamente"
+msgstr "Autodetect - identifica automaticamente"
#: cps/templates/config_edit.html:345
msgid "Custom Filter"
@@ -2149,7 +2174,7 @@ msgid "Default Visibilities for New Users"
msgstr "Visibilità di base per i nuovi utenti"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Mostra libri scelti aleatoriamente nella vista dettagliata"
@@ -2225,23 +2250,25 @@ msgstr "Modifica metadati"
#: cps/templates/email_edit.html:12
msgid "Choose Server Type"
-msgstr ""
+msgstr "Scegli il tipo di server"
#: cps/templates/email_edit.html:14
msgid "Use Standard E-Mail Account"
-msgstr ""
+msgstr "Utilizza un account e-mail standard"
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
-msgstr ""
+#, fuzzy
+msgid "Gmail Account with OAuth2 Verfification"
+msgstr "Utilizza un account g-mail con la verifica OAuth2"
#: cps/templates/email_edit.html:21
msgid "Setup Gmail Account as E-Mail Server"
-msgstr ""
+msgstr "Configura l'account gmail quale server e-mail"
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
-msgstr ""
+#, fuzzy
+msgid "Revoke Gmail Access"
+msgstr "Revoca l'accesso g-mail"
#: cps/templates/email_edit.html:41
msgid "STARTTLS"
@@ -2264,7 +2291,7 @@ msgid "Save and Send Test E-mail"
msgstr "Salva le impostazioni e invia e-mail di test"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Indietro"
@@ -2298,7 +2325,7 @@ msgstr "Apri il file .kobo/Kobo eReader.conf in un editore di testi e aggiungi (
#: cps/templates/http_error.html:38
msgid "Create Issue"
-msgstr "Crea un rapporto di segnalazione di un problema"
+msgstr "Crea un rapporto di segnalazione di problema"
#: cps/templates/http_error.html:45
msgid "Return to Home"
@@ -2328,11 +2355,11 @@ msgstr "Avvio"
#: cps/templates/index.xml:18
msgid "Alphabetical Books"
-msgstr ""
+msgstr "Libri in ordine alfabetico"
#: cps/templates/index.xml:22
msgid "Books sorted alphabetically"
-msgstr ""
+msgstr "Libri ordinati alfabeticamente"
#: cps/templates/index.xml:29
msgid "Popular publications from this catalog based on Downloads."
@@ -2894,7 +2921,7 @@ msgstr "Crea/Visualizza"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Aggiungi valori personali permessi/negati nelle colonne"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Elimina questo utente"
@@ -2902,94 +2929,99 @@ msgstr "Elimina questo utente"
msgid "Generate Kobo Auth URL"
msgstr "Genera un URL di autenticazione per Kobo"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
#, fuzzy
msgid "Select..."
msgstr "Seleziona"
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
-msgstr "Utente amministratore"
-
-#: cps/templates/user_table.html:104
-#, fuzzy
-msgid "Enter Username"
-msgstr "Scegli un nome utente"
+msgstr "Modifica utente"
#: cps/templates/user_table.html:105
#, fuzzy
+msgid "Enter Username"
+msgstr "Digita il nome utente"
+
+#: cps/templates/user_table.html:106
+#, fuzzy
msgid "Enter E-mail Address"
-msgstr "Il tuo indirizzo e-mail"
-
-#: cps/templates/user_table.html:106
-#, fuzzy
-msgid "Enter Kindle E-mail Address"
-msgstr "Invia all'email di Kindle"
-
-#: cps/templates/user_table.html:106
-#, fuzzy
-msgid "Kindle E-mail"
-msgstr "E-mail di test"
+msgstr "Digita l'indirizzo e-mail"
#: cps/templates/user_table.html:107
#, fuzzy
-msgid "Locale"
-msgstr "Scala"
+msgid "Enter Kindle E-mail Address"
+msgstr "Digita l'email di Kindle"
+
+#: cps/templates/user_table.html:107
+#, fuzzy
+msgid "Kindle E-mail"
+msgstr "E-mail di Kindle"
#: cps/templates/user_table.html:108
-msgid "Visible Book Languages"
-msgstr ""
+#, fuzzy
+msgid "Locale"
+msgstr "Locale"
#: cps/templates/user_table.html:109
+msgid "Visible Book Languages"
+msgstr "Lingue dei libri visualizzabili"
+
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
-msgstr "Seleziona le categorie consentite/negate"
-
-#: cps/templates/user_table.html:109
-msgid "Denied Tags"
-msgstr ""
+msgstr "Modifica le categorie negate"
#: cps/templates/user_table.html:110
+msgid "Denied Tags"
+msgstr "Categorie negate"
+
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
-msgstr "Seleziona le categorie consentite/negate"
-
-#: cps/templates/user_table.html:110
-msgid "Allowed Tags"
-msgstr ""
+msgstr "Modifica le categorie permesse"
#: cps/templates/user_table.html:111
+msgid "Allowed Tags"
+msgstr "Categorie permesse"
+
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
-msgstr "Aggiungi valori personali permetti/nega nelle colonne"
+msgstr "Modifica i valori delle colonne permesse"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
-msgstr "Aggiungi valori personali permetti/nega nelle colonne"
+msgstr "Valori delle colonne permesse"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
-msgstr "Aggiungi valori personali permetti/nega nelle colonne"
+msgstr "Modifica i valori delle colonne negate"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
-msgstr "Aggiungi valori personali permetti/nega nelle colonne"
+msgstr "Valori delle colonne negate"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
-msgstr "Permetti la modifica della password"
+msgstr "Modifica la password"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr "Visualizza"
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
-msgstr "Scaffale pubblico"
+msgstr "Modifica scaffali pubblici"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Mostra l'opzione per la selezione delle serie"
diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo
index 502a4f0e..5b8111be 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 0d8a3bc8..a21c934a 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: white \n"
"Language: ja\n"
@@ -30,340 +30,356 @@ msgstr "インストールされていません"
msgid "Statistics"
msgstr "統計"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "サーバを再起動しました。ページを再読み込みしてください"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "サーバをシャットダウンしています。ページを閉じてください"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "不明"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "管理者ページ"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "UI設定"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:263
+#: cps/admin.py:278
msgid "all"
msgstr ""
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr ""
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web の設定を更新しました"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:435
+#: cps/admin.py:466
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "基本設定"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "全ての項目を入力してください"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "このメールは有効なドメインからのものではありません"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "新規ユーザ追加"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "ユーザ '%(user)s' を作成しました"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "このメールアドレスかニックネームで登録されたアカウントが見つかりました"
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "ユーザ '%(nick)s' を削除しました"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s を編集"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "ユーザ '%(nick)s' を更新しました"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "不明なエラーが発生しました。"
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP設定を変更"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "テストメールを %(res)s に送信中にエラーが発生しました"
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "メールサーバの設定を更新しました"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s 用のパスワードをリセット"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "不明なエラーが発生しました。あとで再試行してください。"
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "初めにSMTPメールの設定をしてください"
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "更新データを要求中"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "更新データをダウンロード中"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "更新データを展開中"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "ファイルを置換中"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "データベースの接続を切断完了"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "サーバ停止中"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "アップデート完了、OKを押してページをリロードしてください"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "アップデート失敗:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTPエラー"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "接続エラー"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "接続を確立中にタイムアウトしました"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "エラー発生"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -383,90 +399,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "電子書籍を開けません。ファイルが存在しないかアクセスできません"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "メタデータを編集"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s は有効な言語ではありません"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "ファイル拡張子 '%(ext)s' をこのサーバにアップロードすることは許可されていません"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "アップロードするファイルには拡張子が必要です"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "%(path)s の作成に失敗しました (Permission denied)。"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "%(file)s を保存できません。"
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "ファイル形式 %(ext)s が %(book)s に追加されました"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "メタデータを更新しました"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "本の編集でエラーが発生しました。詳細はログファイルを確認してください"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "変換元の形式または変換後の形式が指定されていません"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "本の %(book_format)s への変換がキューに追加されました"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "この本の変換中にエラーが発生しました: %(res)s"
@@ -647,64 +663,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "%(nickname)s としてログイン中"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr ""
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr ""
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr ""
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr ""
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr ""
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -714,7 +738,7 @@ msgstr ""
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "ログイン"
@@ -730,7 +754,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:414
msgid "Books"
msgstr ""
@@ -751,20 +775,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr ""
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "読んだ本"
@@ -773,7 +797,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "未読の本"
@@ -785,54 +809,55 @@ msgstr ""
msgid "Discover"
msgstr "見つける"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "ランダムで本を表示"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "カテゴリ"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "カテゴリ選択を表示"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "シリーズ"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "シリーズ選択を表示"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "著者"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "著者選択を表示"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "出版社"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "出版社選択を表示"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "言語"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "言語選択を表示"
@@ -840,7 +865,7 @@ msgstr "言語選択を表示"
msgid "Ratings"
msgstr ""
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr ""
@@ -848,23 +873,23 @@ msgstr ""
msgid "File formats"
msgstr ""
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -992,190 +1017,190 @@ msgstr "アップデートが利用可能です。下のボタンをクリック
msgid "No release information available"
msgstr "リリース情報がありません"
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "本を見つける (ランダムで表示)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "シリーズ: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "カテゴリ: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "言語: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "詳細検索"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "検索"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr ""
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr ""
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "タスク"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "これ以降に出版 "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "これ以前に出版 "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "評価 <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "評価 >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "本の %(kindlemail)s への送信がキューに追加されました"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "%(res)s を送信中にエラーが発生しました"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "初めにKindleのメールアドレスを設定してください"
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "登録"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "このメールアドレスは登録が許可されていません"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "確認メールがこのメールアドレスに送信されました。"
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "ユーザ名またはパスワードが違います"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s のプロフィール"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "プロフィールを更新しました"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "このメールアドレスで登録されたアカウントがあります"
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "本を読む"
@@ -1223,12 +1248,12 @@ msgstr ""
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "ユーザ名"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr ""
@@ -1237,7 +1262,7 @@ msgid "Send to Kindle E-mail Address"
msgstr ""
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "管理者"
@@ -1247,13 +1272,13 @@ msgid "Password"
msgstr "パスワード"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "アップロード"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "ダウンロード"
@@ -1261,15 +1286,15 @@ msgstr "ダウンロード"
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "編集"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "削除"
@@ -1432,7 +1457,7 @@ msgid "OK"
msgstr ""
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1658,98 +1683,98 @@ msgstr "検索エラー"
msgid "No Result(s) found! Please try another keyword."
msgstr "検索結果が見つかりません。別のキーワードで検索してみてください。"
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "タイトル"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "よろしいですか?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2147,7 +2172,7 @@ msgid "Default Visibilities for New Users"
msgstr ""
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr ""
@@ -2230,7 +2255,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2238,7 +2263,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2262,7 +2287,7 @@ msgid "Save and Send Test E-mail"
msgstr ""
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "戻る"
@@ -2892,7 +2917,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr ""
@@ -2900,86 +2925,91 @@ msgstr ""
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
msgid "Edit User"
msgstr ""
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "ユーザ名を入力してください"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "あなたのメールアドレス"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "あなたのメールアドレス"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "テストメール"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "サイズ"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "パスワード変更を許可"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "本棚を編集する"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "シリーズ選択を表示"
diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo
index 83cc5219..f2caa327 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 a948ea81..6e41c036 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
"Last-Translator: \n"
"Language: km_KH\n"
@@ -31,341 +31,357 @@ msgstr "មិនបានតម្លើង"
msgid "Statistics"
msgstr "ស្ថិតិ"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "ម៉ាស៊ីន server បានដំណើរការម្តងទៀត សូមបើកទំព័រជាថ្មី"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "កំពុងបិទម៉ាស៊ីន server សូមបិទផ្ទាំងនេះ"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "មិនដឹង"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "ទំព័ររដ្ឋបាល"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
-#: cps/admin.py:263
+#: cps/admin.py:278
msgid "all"
msgstr ""
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "បង្ហាញទាំងអស់"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "ការកំណត់សាមញ្ញ"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "សូមបំពេញចន្លោះទាំងអស់!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "បញ្ហាដែលមិនដឹងបានកើតឡើង។"
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "ប្តូរការកំណត់ SMTP"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន"
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr ""
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -385,90 +401,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ ពុំមានឯកសារ ឬឯកសារនេះមិនអាចបើកបាន"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "កែប្រែទិន្នន័យមេតា"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។"
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "មានបញ្ហាពេលកែប្រែសៀវភៅ សូមពិនិត្យមើល logfile សម្រាប់ព័ត៌មានបន្ថែម"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
@@ -648,64 +664,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr ""
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr ""
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr ""
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr ""
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr ""
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -715,7 +739,7 @@ msgstr ""
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "ចូលប្រើ"
@@ -731,7 +755,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:414
msgid "Books"
msgstr ""
@@ -752,20 +776,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "សៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr "បង្ហាញសៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "សៀវភៅដែលបានអានរួច"
@@ -774,7 +798,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "សៀវភៅដែលមិនទាន់បានអាន"
@@ -786,54 +810,55 @@ msgstr ""
msgid "Discover"
msgstr "ស្រាវជ្រាវ"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "បង្ហាញសៀវភៅចៃដន្យ"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "ប្រភេទនានា"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "បង្ហាញជម្រើសប្រភេទ"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "ស៊េរី"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "បង្ហាញជម្រើសស៊េរី"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "អ្នកនិពន្ធ"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr ""
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr ""
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "ភាសានានា"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "បង្ហាញផ្នែកភាសា"
@@ -841,7 +866,7 @@ msgstr "បង្ហាញផ្នែកភាសា"
msgid "Ratings"
msgstr ""
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr ""
@@ -849,23 +874,23 @@ msgstr ""
msgid "File formats"
msgstr ""
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -993,190 +1018,190 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "ស៊េរី៖ %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "ប្រភេទ៖ %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "ភាសា៖ %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "ស្វែងរកកម្រិតខ្ពស់"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "ស្វែងរក"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "ឯកសារ DLS"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr ""
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "កិច្ចការនានា"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "បានបោះពុម្ភក្រោយ "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "បានបោះពុម្ភមុន "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "ការវាយតម្លៃ <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "ការវាយតម្លៃ >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "ចុះឈ្មោះ"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr ""
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "អានសៀវភៅ"
@@ -1224,12 +1249,12 @@ msgstr "បញ្ជីអ្នកប្រើប្រាស់"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "ឈ្មោះហៅក្រៅ"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr ""
@@ -1238,7 +1263,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "ឧបករណ៍ Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "រដ្ឋបាល"
@@ -1248,13 +1273,13 @@ msgid "Password"
msgstr "លេខសម្ងាត់"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "អាប់ឡូដ"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "ទាញយក"
@@ -1262,15 +1287,15 @@ msgstr "ទាញយក"
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "កែប្រែ"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "លុប"
@@ -1433,7 +1458,7 @@ msgid "OK"
msgstr "បាទ/ចាស"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1659,98 +1684,98 @@ msgstr "ការស្វែងរកមានកំហុស!"
msgid "No Result(s) found! Please try another keyword."
msgstr ""
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "ចំណងជើង"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr ""
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2148,7 +2173,7 @@ msgid "Default Visibilities for New Users"
msgstr "ភាពមើលឃើញដែលមកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "បង្ហាញសៀវភៅចៃដន្យក្នុងការបង្ហាញជាពិស្តារ"
@@ -2231,7 +2256,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2239,7 +2264,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2263,7 +2288,7 @@ msgid "Save and Send Test E-mail"
msgstr "រក្សាទុកការកំណត់រួចផ្ញើអ៊ីមែលសាកល្បង"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "មកក្រោយ"
@@ -2893,7 +2918,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "លុបអ្នកប្រើប្រាស់នេះ"
@@ -2901,85 +2926,90 @@ msgstr "លុបអ្នកប្រើប្រាស់នេះ"
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "ជ្រើសរើសឈ្មោះអ្នកប្រើប្រាស់"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "អាសយដ្ឋានអ៊ីមែលរបស់អ្នក"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "ឧបករណ៍ Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
msgid "Kindle E-mail"
msgstr ""
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
msgid "Locale"
msgstr ""
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "អនុញ្ញាតឲប្តូរលេខសម្ងាត់"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "កែប្រែធ្នើ"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "បង្ហាញជម្រើសស៊េរី"
diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo
index 9acfa28f..bc72d2b7 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 ae830a95..7b28c2ac 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-12-12 08:20+0100\n"
"Last-Translator: Marcel Maas \n"
"Language: nl\n"
@@ -31,343 +31,359 @@ msgstr "niet geïnstalleerd"
msgid "Statistics"
msgstr "Statistieken"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "De server is herstart, vernieuw de pagina"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Bezig met afsluiten van de server, sluit het venster"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Opnieuw verbinden gelukt"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Onbekende opdracht"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Onbekend"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Systeembeheer"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Uiterlijk aanpassen"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Systeembeheerder"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Alles"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Gebruiker niet gevonden"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Alle talen"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web-configuratie bijgewerkt"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Wil je werkelijk je Kobo Token verwijderen?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Weigeren"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Toestaan"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json is niet geconfigureerd voor webapplicatie"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "De locatie van het logbestand is onjuist, voer een geldige locatie in"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "De locatie vam het toegangslog is onjuist, voer een geldige locatie in"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-sleutellocatie is niet geldig, voer een geldige locatie in"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-certificaatlocatie is niet geldig, voer een geldige locatie in"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "Instellingen niet opgeslagen"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Database niet gevonden, voer de juiste locatie in"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Kan niet schrijven naar database"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Basis configuratie"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Vul alle velden in!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "Het e-mailadres bevat geen geldige domeinnaam"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Gebruiker toevoegen"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Gebruiker '%(user)s' aangemaakt"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Gebruiker '%(nick)s' verwijderd"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Kan laatste systeembeheerder niet verwijderen"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Gebruiker '%(nick)s' bewerken"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Gebruiker '%(nick)s' bijgewerkt"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Er is een onbekende fout opgetreden."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP-instellingen bewerken"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Gelieve eerst je e-mail adres configureren..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "E-mailserver-instellingen bijgewerkt"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Gebruiker niet gevonden"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Wachtwoord voor gebruiker %(user)s is hersteld"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Onbekende fout opgetreden. Probeer het later nog eens."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Stel eerst SMTP-mail in..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Logbestand lezer"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Update opvragen"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Update downloaden"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Update uitpakken"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Update toepassen"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Databaseverbindingen zijn gesloten"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Bezig met stoppen van Calibre-Web"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Update mislukt:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP-fout"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Verbindingsfout"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Time-out tijdens maken van verbinding"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Algemene fout"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fout: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Fout: No user returned in response of LDAP server"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -387,90 +403,90 @@ msgstr "Het boekformaat is verwijderd"
msgid "Book Successfully Deleted"
msgstr "Het boek is verwijderd"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Kan e-boek niet openen: het bestand bestaat niet of is ontoegankelijk"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "metagegevens bewerken"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s is geen geldige taal"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "De bestandsextensie '%(ext)s' is niet toegestaan op deze server"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Het te uploaden bestand moet voorzien zijn van een extensie"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Kan %(file)s niet opslaan."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Database fout: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "De metagegevens zijn bijgewerkt"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Kan het boek niet bewerken, controleer het logbestand"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Geüpload boek staat mogelijk al in de bibliotheek, controleer alvorens door te gaan: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Bestand %(filename)s kon niet opgeslagen worden in de tijdelijke map"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Omslag %(file)s niet verplaatst: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Bestand %(file)s geüpload"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Bron- of doelformaat ontbreekt voor conversie"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Het boek is in de wachtrij geplaatst voor conversie naar %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Er is een fout opgetreden bij het converteren van dit boek: %(res)s"
@@ -651,64 +667,72 @@ msgstr "Je kunt Calibre-Web niet vanaf de lokale computer openen om een geldige
msgid "Kobo Setup"
msgstr "Kobo Instellen"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Aanmelden bij %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "je bent ingelogd als: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Koppeling gemaakt met %(oauth)s"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Inloggen mislukt, geen gebruiker gekoppeld aan OAuth account"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Koppeling met %(oauth)s verbroken"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Ontkoppelen van %(oauth)s mislukt"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Inloggen bij GitHub mislukt."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Opvragen gebruikersinfo bij GitHub mislukt."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Inloggen bij Google mislukt."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Opvragen gebruikersinfo bij Google mislukt."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub OAuth fout, probeer het later nog eens."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google OAuth fout, probeer het later nog eens."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -718,7 +742,7 @@ msgstr "Alles"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "inloggen"
@@ -734,7 +758,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:414
msgid "Books"
msgstr "Boeken"
@@ -755,20 +779,20 @@ msgid "Downloaded Books"
msgstr "Gedownloade boeken"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr "Gedownloade boeken tonen"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Best beoordeelde boeken"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Gelezen boeken"
@@ -777,7 +801,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Ongelezen boeken"
@@ -789,54 +813,55 @@ msgstr "Ongelezen boeken tonen"
msgid "Discover"
msgstr "Willekeurige boeken"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Willekeurige boeken tonen"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Categorieën"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Categoriekeuze tonen"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Boekenreeksen"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Boekenreeksenkeuze tonen"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Auteurs"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Auteurkeuze tonen"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Uitgevers"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Uitgeverskeuze tonen"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Talen"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Taalkeuze tonen"
@@ -844,7 +869,7 @@ msgstr "Taalkeuze tonen"
msgid "Ratings"
msgstr "Beoordelingen"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Beoordelingen tonen"
@@ -852,23 +877,23 @@ msgstr "Beoordelingen tonen"
msgid "File formats"
msgstr "Bestandsformaten"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Bestandsformaten tonen"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Gearchiveerde boeken"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Gearchiveerde boeken tonen"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "Boekenlijst"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "Boekenlijst tonen"
@@ -996,190 +1021,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Verkennen (willekeurige boeken)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Populaire boeken (meest gedownload)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Gedownloade boeken door %(user)s"
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Uitgever: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Reeks: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Beoordeling: %(rating)s sterren"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Bestandsformaat: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Categorie: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Taal: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Geavanceerd zoeken"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Zoeken"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Beoordelingen"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Alle bestandsformaten"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Taken"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Gepubliceerd na "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Gepubliceerd vóór "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Beoordeling <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Beoordeling >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Stel je kindle-e-mailadres in..."
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-mailserver is niet geconfigureerd, neem contact op met de beheerder!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "registreren"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Kan de LDAP authenticatie niet activeren"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Inloggen mislukt: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Verkeerde gebruikersnaam of wachtwoord"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Je bent ingelogd als: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's profiel"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profiel bijgewerkt"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Bestaand account met dit e-mailadres aangetroffen."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Lees een boek"
@@ -1227,12 +1252,12 @@ msgstr "Gebruikerslijst"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Gebruikersnaam"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-mailadres"
@@ -1241,7 +1266,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle-e-mailadres"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Beheer"
@@ -1251,13 +1276,13 @@ msgid "Password"
msgstr "Wachtwoord"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Uploaden"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Downloaden"
@@ -1265,15 +1290,15 @@ msgstr "Downloaden"
msgid "View Books"
msgstr "Boeken lezen"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Bewerken"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Verwijderen"
@@ -1436,7 +1461,7 @@ msgid "OK"
msgstr "Oké"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1662,98 +1687,98 @@ msgstr "Zoekfout!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Geen resultaten gevonden! Gebruik een ander trefwoord."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "Dit veld is verplicht"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "Geselecteerde boeken samenvoegen"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "Geselecteerde boeken verwijderen"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "Automatisch sorteren op titel"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "Automatisch sorteren op auteur"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "Geef titel"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titel"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Weet je het zeker?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "Samenvoegen"
@@ -2151,7 +2176,7 @@ msgid "Default Visibilities for New Users"
msgstr "Standaard zichtbaar voor nieuwe gebruikers"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Willekeurige boeken tonen in gedetailleerde weergave"
@@ -2234,7 +2259,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2242,7 +2267,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2266,7 +2291,7 @@ msgid "Save and Send Test E-mail"
msgstr "Opslaan en test-e-mail versturen"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Annuleren"
@@ -2896,7 +2921,7 @@ msgstr "Aanmaken/Bekijk"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Deze gebruiker verwijderen"
@@ -2904,93 +2929,98 @@ msgstr "Deze gebruiker verwijderen"
msgid "Generate Kobo Auth URL"
msgstr "Genereer Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Systeembeheerder"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Kies een gebruikersnaam"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Je e-mailadres"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle-e-mailadres"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Test-e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Schaal"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Selecteer toegestane/geweigerde tags"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Selecteer toegestane/geweigerde tags"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Wachtwoord wijzigen toestaan"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Openbare boekenplank"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Boekenreeksenkeuze tonen"
diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo
index c80fbacc..b5c9a41d 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 060521d9..8b67f079 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: 2019-08-06 18:35)\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-08-30 21:05+0200\n"
"Last-Translator: Jerzy Piątek \n"
"Language: pl\n"
@@ -31,347 +31,363 @@ msgstr "nie zainstalowane"
msgid "Statistics"
msgstr "Statystyki"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Ponowne połączenie zakończono sukcesem"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Nieznane polecenie"
# ???
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Nieznany"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Panel administratora"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Konfiguracja Interfejsu"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Użytkownik z uprawnieniami administratora"
# ???
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Wszystko"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Nie znaleziono użytkownika"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Pokaż wszystkie"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Nie można odebrać praw administratora. Brak na serwerze innego konta z prawami administratora"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Konfiguracja Calibre-Web została zaktualizowana"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Czy na pewno chcesz usunąć Token Kobo?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Czy na pewno chcesz usunąć półkę?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Czy na pewno chcesz usunąć półkę?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Zabroń"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Zezwalaj"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json nie został skonfigurowany dla aplikacji webowej"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku dziennika jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku dziennika dostępu jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Wprowadź dostawcę LDAP, port, nazwę wyróżniającą i identyfikator obiektu użytkownika"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Filtr obiektów grupy LDAP musi mieć jeden identyfikator formatu \"% s\""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów grupy LDAP ma niedopasowany nawias"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Filtr obiektów użytkownika LDAP musi mieć jeden identyfikator formatu \"% s\""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów użytkownika LDAP ma niedopasowany nawias"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "Baza danych ustawień nie jest zapisywalna"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "Baza danych nie jest zapisywalna"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Konfiguracja podstawowa"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-mail nie pochodzi z prawidłowej domeny"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub pseudonimu."
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
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:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Wystąpił nieznany błąd."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Zmień ustawienia SMTP"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Najpierw skonfiguruj swój adres e-mail..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Nie znaleziono użytkownika"
-
# ???
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Zrestartowano hasło użytkownika %(user)s"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Przeglądanie dziennika"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Żądanie o pakiet aktualizacji"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Pobieranie pakietu aktualizacji"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Rozpakowywanie pakietu aktualizacji"
# ???
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Zastępowanie plików"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Połączenia z bazą danych zostały zakończone"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Zatrzymywanie serwera"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Aktualizacja nieudana:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Błąd HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Błąd połączenia"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Przekroczono limit czasu podczas nawiązywania połączenia"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Błąd ogólny"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Plik aktualizacji nie mógł zostać zapisany w katalogu tymczasowym"
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Błąd: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
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:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -391,90 +407,90 @@ msgstr "Plik książki w wybranym formacie został usunięty"
msgid "Book Successfully Deleted"
msgstr "Książka została usunięta"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Błąd podczas otwierania e-booka. Plik nie istnieje lub jest niedostępny"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "edytuj metadane"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s nie jest prawidłowym językiem"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Rozszerzenie pliku '%(ext)s' nie jest dozwolone do wysłania na ten serwer"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Plik do wysłania musi mieć rozszerzenie"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Nie udało się utworzyć łącza %(path)s (Odmowa dostępu)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Nie można zapisać pliku %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Błąd bazy danych: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Format pliku %(ext)s dodany do %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadane zostały pomyślnie zaktualizowane"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Błąd podczas edycji książki, sprawdź plik dziennika, aby uzyskać szczegółowe informacje"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Wysłana książka prawdopodobnie istnieje w bibliotece, rozważ zmianę przed przesłaniem nowej: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Nie można zapisać pliku %(filename)s w katalogu tymczasowym"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Nie udało się przenieść pliku okładki %(file)s:%(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Wysłano plik %(file)s"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Brak formatu źródłowego lub docelowego do konwersji"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Książka została pomyślnie umieszczona w zadaniach do konwersji %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Podczas konwersji książki wystąpił błąd: %(res)s"
@@ -658,64 +674,72 @@ msgid "Kobo Setup"
msgstr "Konfiguracja Kobo"
# ???
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Zarejestruj się %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "zalogowałeś się jako: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Łączenie z %(oauth)s zakończono sukcesem"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Błąd logowania, użytkownik niepołączony z kontem OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Rozłączanie z %(oauth)s zakończono sukcesem"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Rozłączanie z %(oauth)s zakończono porażką"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Nie udało się zalogować za pomocą GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Nie udało się pobrać informacji o użytkowniku z GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Nie udało się zalogować do Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Nie udało się pobrać informacji o użytkowniku z Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "Błąd GitHub Oauth, proszę spróbować później."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Błąd Google Oauth, proszę spróbować później."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
# ???
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
@@ -726,7 +750,7 @@ msgstr "Wszystko"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "logowanie"
@@ -742,7 +766,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:414
msgid "Books"
msgstr "Książki"
@@ -763,20 +787,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Najwyżej ocenione"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Przeczytane"
@@ -785,7 +809,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Nieprzeczytane"
@@ -797,54 +821,55 @@ msgstr "Pokaż nieprzeczytane"
msgid "Discover"
msgstr "Odkrywaj"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Pokaż menu losowych książek"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategorie"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Pokaż menu wyboru kategorii"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Cykle"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Pokaż menu wyboru cyklu"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autorzy"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Pokaż menu wyboru autora"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Wydawcy"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Pokaż menu wyboru wydawcy"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Języki"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Pokaż menu wyboru języka"
@@ -852,7 +877,7 @@ msgstr "Pokaż menu wyboru języka"
msgid "Ratings"
msgstr "Oceny"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Pokaż menu listy ocen"
@@ -860,23 +885,23 @@ msgstr "Pokaż menu listy ocen"
msgid "File formats"
msgstr "Formaty plików"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Pokaż menu formatu plików"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Zarchiwizowane książki"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Pokaż zarchiwizowane książki"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -1004,190 +1029,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Odkrywaj (losowe książki)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Wydawca: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Cykl: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Ocena: %(rating)s gwiazdek"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Format pliku: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Język: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, 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"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Wyszukiwanie"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Szukaj"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Lista z ocenami"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Lista formatów"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Zadania"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Opublikowane po "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Opublikowane przed "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Ocena <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Ocena >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Najpierw skonfiguruj adres e-mail Kindle..."
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "rejestracja"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Twój e-mail nie może się zarejestrować"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Nie można aktywować uwierzytelniania LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nie można zalogować: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Błędna nazwa użytkownika lub hasło"
-#: cps/web.py:1465
+#: cps/web.py:1499
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:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Zaktualizowano profil"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Czytaj książkę"
@@ -1235,12 +1260,12 @@ msgstr "Lista użytkowników"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Nazwa użytkownika"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-mail"
@@ -1250,7 +1275,7 @@ msgstr "Adres e-mail dla wysyłania do Kindle"
# ???
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Panel administratora"
@@ -1260,14 +1285,14 @@ msgid "Password"
msgstr "Hasło"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Wysyłanie"
# ???
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Pobieranie"
@@ -1275,16 +1300,16 @@ msgstr "Pobieranie"
msgid "View Books"
msgstr "Przeglądanie"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Edycja"
# ???
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Usuń"
@@ -1447,7 +1472,7 @@ msgid "OK"
msgstr "OK"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1674,98 +1699,98 @@ msgstr "Błąd wyszukiwania!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Nie znaleziono! Spróbuj użyć innego słowa kluczowego."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Tytuł"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Czy jesteś pewny?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2164,7 +2189,7 @@ msgid "Default Visibilities for New Users"
msgstr "Domyślne ustawienia widoku dla nowych użytkowników"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Pokaz losowe książki w widoku szczegółowym"
@@ -2247,7 +2272,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2255,7 +2280,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2279,7 +2304,7 @@ msgid "Save and Send Test E-mail"
msgstr "Zapisz ustawienia i wyślij testową wiadomość e-mail"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Wróć"
@@ -2916,7 +2941,7 @@ 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:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Usuń tego użytkownika"
@@ -2924,93 +2949,98 @@ msgstr "Usuń tego użytkownika"
msgid "Generate Kobo Auth URL"
msgstr "Generuj Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Użytkownik z uprawnieniami administratora"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Wybierz nazwę użytkownika"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Twój adres e-mail"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Adres e-mail dla wysyłania do Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Testowy e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Skaluj"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Wybierz dozwolone/zabronione etykiety"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Wybierz dozwolone/zabronione etykiety"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Zezwalaj na zmianę hasła"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Półka publiczna"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Pokaż menu wyboru cyklu"
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo
index badae89f..e2900e41 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 18059800..880ea254 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language: br\n"
@@ -27,343 +27,359 @@ msgstr "não instalado"
msgid "Statistics"
msgstr "Estatística"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Servidor reiniciado, por favor recarregue a página"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Executando o desligamento do servidor, por favor, feche a janela"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Reconexão bem-sucedida"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Comando desconhecido"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Desconhecido"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Página de administração"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Configuração de UI"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Usuário Admin"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Todos"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "Usuário não encontrado"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Mostrar tudo"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "Nenhum usuário administrador restante, não pode remover a função de administrador"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Configuração do Calibre-Web atualizada"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Você realmente quer excluir o Kobo Token?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr "Você realmente quer excluir este domínio?"
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr "Você realmente quer excluir este usuário?"
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Negar"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Permita"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json não está configurado para aplicativo da web"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de log não é válida, digite o caminho correto"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de log de acesso não é válida, digite o caminho correto"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Digite um provedor LDAP, porta, DN e identificador de objeto do usuário"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de objeto de grupo LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de grupo LDAP tem parênteses incomparáveis"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de objeto de usuário LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de usuário LDAP tem parênteses incomparáveis"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de usuário membro do LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis"
-#: cps/admin.py:980
+#: cps/admin.py:1011
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:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo-chave não é válida, por favor insira o caminho correto"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de certificação não é válida, digite o caminho correto"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "O banco de dados de configurações não é gravável"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "A localização do banco de dados não é válida, digite o caminho correto"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "DB não é gravável"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Configuração Básica"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Por favor, preencha todos os campos!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "O e-mail não é de um domínio válido"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Adicionar novo usuário"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuário '%(user)s' criado"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuário '%(nick)s' excluído"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
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:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar usuário %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuário '%(nick)s' atualizado"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Ocorreu um erro desconhecido."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Editar configurações do servidor de e-mail"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure seu endereço de e-mail primeiro..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Atualização das configurações do servidor de e-mail"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "Usuário não encontrado"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Senha para redefinição do usuário %(user)s"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Por favor, configure primeiro as configurações de correio SMTP..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "visualizador de arquivo de registro"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Solicitação de pacote de atualização"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Download do pacote de atualização"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Descompactação de pacote de atualização"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Substituição de arquivos"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "As ligações à base de dados estão fechadas"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Parar servidor"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Atualização concluída, pressione okay e recarregue a página"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Atualização falhou:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Erro HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Erro de conexão"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Tempo limite durante o estabelecimento da conexão"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Erro geral"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
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:1529
+#: cps/admin.py:1574
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:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erro: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Erro: Nenhum usuário retornado em resposta do servidor LDAP"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
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:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr "{} Usuário Importado com Sucesso"
@@ -383,90 +399,90 @@ msgstr "Formato do Livro Eliminado com Sucesso"
msgid "Book Successfully Deleted"
msgstr "Livro Eliminado com Sucesso"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Erro ao abrir o eBook. O arquivo não existe ou o arquivo não é acessível"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "editar metadados"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s não é um idioma válido"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "A extensão de arquivo '%(ext)s' não pode ser enviada para este servidor"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "O arquivo a ser carregado deve ter uma extensão"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Falha ao criar o caminho %(path)s (Permission denied)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Falha ao armazenar o arquivo %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "Erro de banco de dados: %(error)s."
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Formato de arquivo %(ext)s adicionado a %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Os identificadores não são sensíveis a maiúsculas ou minúsculas, mas sim a maiúsculas e minúsculas"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadados atualizados com sucesso"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Livro de edição de erros, por favor verifique o ficheiro de registo para mais detalhes"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "O livro carregado provavelmente existe na biblioteca, considere mudar antes de carregar novo: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "O arquivo %(filename)s não pôde ser salvo no diretório temporário"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Falha ao mover arquivo de capa %(file)s: %(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Arquivo %(file)s enviado"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Falta o formato de origem ou destino para a conversão"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Livro enfileirado com sucesso para conversão em %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Ocorreu um erro ao converter este livro: %(res)s"
@@ -647,64 +663,72 @@ msgstr "Por favor, acesse o calibre-web de um host não local para obter um api_
msgid "Kobo Setup"
msgstr "Configuração Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Registre-se com %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "agora você está logado como: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Link para %(oauth)s bem-sucedido"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Login falhou, nenhum utilizador ligado a uma conta OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Desvincular para %(oauth)s bem-sucedido"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Falha ao desvincular para %(oauth)s"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "Não vinculado a %(oauth)s"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Falha no login com o GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Falha na busca de informações do usuário no GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Falha no login com o Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Falha em ir buscar informações de usuário ao Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "Erro de GitHub Oauth, por favor tente novamente mais tarde."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Erro no Google Oauth, por favor tente novamente mais tarde."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -714,7 +738,7 @@ msgstr "Todos"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "login"
@@ -730,7 +754,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:414
msgid "Books"
msgstr "Livros"
@@ -751,20 +775,20 @@ msgid "Downloaded Books"
msgstr "Livros descarregados"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr "Mostrar Livros Descarregados"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Livros Mais Bem Avaliados"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Ler Livros"
@@ -773,7 +797,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Livros Não Lidos"
@@ -785,54 +809,55 @@ msgstr "Mostrar não lido"
msgid "Discover"
msgstr "Descubra"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Mostrar livros aleatórios"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Categorias"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Mostrar seleção de categoria"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Série"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Mostrar selecção de séries"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Autores"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Mostrar selecção de autor"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Editores"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Mostrar selecção de editores"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Idiomas"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Mostrar seleção de idioma"
@@ -840,7 +865,7 @@ msgstr "Mostrar seleção de idioma"
msgid "Ratings"
msgstr "Classificações"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Mostrar selecção de classificações"
@@ -848,23 +873,23 @@ msgstr "Mostrar selecção de classificações"
msgid "File formats"
msgstr "Formatos de arquivo"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Mostrar seleção de formatos de arquivo"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "Livros Arquivados"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "Mostrar livros arquivados"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "Lista de Livros"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "Mostrar Lista de Livros"
@@ -992,190 +1017,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Descobrir (Livros Aleatórios)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Hot Books (Os Mais Descarregados)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Livros baixados por %(user)s"
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Avaliação: %(rating)s estrelas"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Formato do arquivo: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, 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"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Pesquisa Avançada"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Pesquisa"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Lista de classificações"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Lista de formatos de arquivo"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Tarefas"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Publicado depois de "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Avaliação <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Avaliação >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status de leitura = %(status)s"
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Livro enfileirado com sucesso para envio para %(kindlemail)s"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
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/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "cadastro"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Seu e-mail não tem permissão para registrar"
-#: cps/web.py:1414
+#: cps/web.py:1448
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:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Não é possível ativar a autenticação LDAP"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, 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:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Não foi possível fazer o login: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Nome de usuário ou senha incorretos"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Nova senha foi enviada para seu endereço de e-mail"
-#: cps/web.py:1471
+#: cps/web.py:1505
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:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Você agora está logado como: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s's"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Encontrado uma conta existente para este endereço de e-mail."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Ler um livro"
@@ -1223,12 +1248,12 @@ msgstr "Usuários"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Nome de usuário"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Endereço de e-mail"
@@ -1237,7 +1262,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Enviar para o endereço de e-mail do Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Admin"
@@ -1247,13 +1272,13 @@ msgid "Password"
msgstr "Senha"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Upload"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Baixar"
@@ -1261,15 +1286,15 @@ msgstr "Baixar"
msgid "View Books"
msgstr "Ver Livros"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Editar"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Eliminar"
@@ -1432,7 +1457,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1658,98 +1683,98 @@ msgstr "Erro de busca!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Nenhum resultado(s) encontrado(s)! Por favor, tente outra palavra-chave."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "Este campo é obrigatório"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "Fundir livros selecionados"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "Remover Seleções"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "Atualizar a Classificação de Título automaticamente"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "Atualizar a Classificação do Autor automaticamente"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "Digite o título"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Título"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr "Digite o título Sort"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr "Título Ordenar"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr "Digite Author Sort"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr "Ordenar Autor"
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr "Entrar Autores"
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr "Entrar nas categorias"
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr "Entrar na série"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr "Digite o título"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr "Índice da série"
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr "Entrar idiomas"
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr "Data de publicação"
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr "Entrar Editores"
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Tens mesmo a certeza?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr "Os livros com título serão fundidos a partir de:"
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr "Into Book with Title:"
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "Fundir"
@@ -2147,7 +2172,7 @@ msgid "Default Visibilities for New Users"
msgstr "Visibilidades por defeito para novos utilizadores"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Mostrar Livros Aleatórios em Vista de Detalhe"
@@ -2230,7 +2255,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2238,7 +2263,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2262,7 +2287,7 @@ msgid "Save and Send Test E-mail"
msgstr "Salvar e enviar e-mail de teste"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Voltar"
@@ -2892,7 +2917,7 @@ msgstr "Criar/Ver"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Adicionar valores permitidos/definidos da coluna personalizada"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Eliminar Utilizador"
@@ -2900,94 +2925,99 @@ msgstr "Eliminar Utilizador"
msgid "Generate Kobo Auth URL"
msgstr "Gerar o Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
#, fuzzy
msgid "Select..."
msgstr "Selecione"
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Usuário Admin"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Escolha um nome de usuário"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Seu endereço de e-mail"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Enviar para o endereço de e-mail do Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "E-mail de teste"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Balança"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Selecione Etiquetas permitidas/negadas"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Selecione Etiquetas permitidas/negadas"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Adicionar valores permitidos/negados da coluna personalizada"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Adicionar valores permitidos/negados da coluna personalizada"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Adicionar valores permitidos/negados da coluna personalizada"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Adicionar valores permitidos/negados da coluna personalizada"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Permitir mudança de senha"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Estante Pública"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Mostrar selecção de séries"
diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo
index 43e66bd8..645d7188 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 cd165ef8..feec681e 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-04-29 01:20+0400\n"
"Last-Translator: ZIZA\n"
"Language: ru\n"
@@ -31,343 +31,359 @@ msgstr "не установлено"
msgid "Statistics"
msgstr "Статистика"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Сервер перезагружен, пожалуйста, обновите страницу"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Производится остановка сервера, пожалуйста, закройте окно"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "Успешно переподключено"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "Неизвестная команда"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Неизвестно"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Администрирование"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Настройка интерфейса"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Управление сервером"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Все"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Показать все"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Конфигурация Calibre-Web обновлена"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Вы действительно хотите удалить Kobo Token ?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Запретить"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Разрешить"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json не настроен для веб-приложения"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Неправильное расположение файла журнала, пожалуйста, введите правильный путь."
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Недопустимое расположение файла журнала доступа, пожалуйста, введите правильный путь"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Пожалуйста, введите провайдера LDAP, порт, DN и идентификатор объекта пользователя"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов группы LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов группы LDAP имеет незавершённые круглые скобки"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов пользователя LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов пользователя LDAP имеет незавершенную круглую скобку"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь."
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-mail не из существующей доменной зоны"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Добавить пользователя"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Для этого адреса электронной почты или логина уже есть учётная запись."
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Это последний администратор, невозможно удалить пользователя"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Произошла неизвестная ошибка."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Изменить настройки SMTP"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Произошла ошибка при отправке тестового письма на: %(res)s"
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "Настройки E-mail сервера обновлены"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Пароль для пользователя %(user)s сброшен"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Неизвестная ошибка. Попробуйте позже."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сперва настройте параметры SMTP....."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Просмотр лога"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Проверка обновлений"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Загрузка обновлений"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Распаковка обновлений"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Замена файлов"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Соединения с базой данных закрыты"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Остановка сервера"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Обновления установлены, нажмите ок и перезагрузите страницу"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Ошибка обновления:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "Ошибка HTTP"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Ошибка соединения"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Тайм-аут при установлении соединения"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Общая ошибка"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Не удалось сохранить файл обновления во временной папке."
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Ошибка: %(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "По крайней мере, один пользователь LDAP не найден в базе данных"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -387,90 +403,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Ошибка при открытии eBook. Файл не существует или файл недоступен"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "изменить метаданные"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s не допустимый язык"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Запрещена загрузка файлов с расширением '%(ext)s'"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Загружаемый файл должен иметь расширение"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Не удалось сохранить файл %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Формат файла %(ext)s добавлен в %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Метаданные обновлены"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Ошибка редактирования книги. Пожалуйста, проверьте лог-файл для дополнительной информации"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Файл %(filename)s не удалось сохранить во временную папку"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Файл %(file)s загружен"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Исходный или целевой формат для конвертирования отсутствует"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Произошла ошибка при конвертирования этой книги: %(res)s"
@@ -651,64 +667,72 @@ msgstr "Пожалуйста, подключитесь к Calibre-Web не с л
msgid "Kobo Setup"
msgstr "Настройка Kobo"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Зарегистрируйтесь с %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "вы вошли как пользователь '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "Связь с %(oauth)s Успешна"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "Не удалось войти, ни один пользователь не связан с учетной записью OAuth"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "Отмена связи с %(oauth)s успешно"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "Связь с %(oauth)s не удалось отмененить"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Не удалось войти в систему с помощью GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Не удалось получить информацию о пользователе из GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Не удалось войти в систему с помощью Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Не удалось получить информацию о пользователе из Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "Ошибка GitHub Oauth, пожалуйста попробуйте позже."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Ошибка Google Oauth, пожалуйста попробуйте позже."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -718,7 +742,7 @@ msgstr "Все"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "войти"
@@ -734,7 +758,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:414
msgid "Books"
msgstr "Книги"
@@ -755,20 +779,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Книги с наилучшим рейтингом"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr "Показывать книги с наивысшим рейтингом"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Прочитанные Книги"
@@ -777,7 +801,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Непрочитанные Книги"
@@ -789,54 +813,55 @@ msgstr "Показать непрочитанное"
msgid "Discover"
msgstr "Обзор"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Показывать случайные книги"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Категории"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Показывать выбор категории"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Серии"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Показывать выбор серии"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Авторы"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Показывать выбор автора"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Издатели"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Показать выбор издателя"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Языки"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Показывать выбор языка"
@@ -844,7 +869,7 @@ msgstr "Показывать выбор языка"
msgid "Ratings"
msgstr "Рейтинги"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Показать выбор рейтинга"
@@ -852,23 +877,23 @@ msgstr "Показать выбор рейтинга"
msgid "File formats"
msgstr "Форматы файлов"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Показать выбор форматов файлов"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -996,190 +1021,190 @@ msgstr "Новое обновление доступно. Нажмите на к
msgid "No release information available"
msgstr "Информация о выпуске недоступна"
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Обзор (Случайные Книги)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Популярные книги (часто загружаемые)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Автор: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Издатель: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Серии: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Оценка: %(rating)s звезды(а)"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Формат файла: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Категория: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Язык: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Расширенный поиск"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Поиск"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "Скачать"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Список рейтингов"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Список форматов файлов"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Задания"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Опубликовано после "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Опубликовано до "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Рейтинг <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Рейтинг >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "При отправке этой книги произошла ошибка: %(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..."
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Сервер электронной почты не настроен, обратитесь к администратору !"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "регистрация"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Ваш e-mail не подходит для регистрации"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Письмо с подтверждением отправлено вам на e-mail."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Не удается активировать LDAP аутентификацию"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Резервный вход в систему как: '%(nickname)s', LDAP-сервер недоступен или пользователь не известен"
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "Не удалось войти: %(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Ошибка в имени пользователя или пароле"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Новый пароль был отправлен на ваш адрес электронной почты"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s's"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Профиль обновлён"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Этот адрес электронной почты уже зарегистрирован."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Читать Книгу"
@@ -1227,12 +1252,12 @@ msgstr "Список пользователей"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Имя пользователя"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "Адрес электронной почты"
@@ -1241,7 +1266,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Отправить на Kindle Адрес электронной почты"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Управление"
@@ -1251,13 +1276,13 @@ msgid "Password"
msgstr "Пароль"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Загрузить"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Скачать"
@@ -1265,15 +1290,15 @@ msgstr "Скачать"
msgid "View Books"
msgstr "Посмотреть электронные книги"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Редактировать"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Удалить"
@@ -1436,7 +1461,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1662,98 +1687,98 @@ msgstr "Ошибка поиска!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Результат(ы) не найдены! Попробуйте другое ключевое слово."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Заголовок"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Вы действительно уверены?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2151,7 +2176,7 @@ msgid "Default Visibilities for New Users"
msgstr "Видимость для новых пользователей(по умолчанию)"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Показывать случайные книги при просмотре деталей"
@@ -2234,7 +2259,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2242,7 +2267,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2266,7 +2291,7 @@ msgid "Save and Send Test E-mail"
msgstr "Сохранить настройки и отправить тестовое письмо"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Назад"
@@ -2896,7 +2921,7 @@ msgstr "Создать/Просмотреть"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Удалить этого пользователя"
@@ -2904,93 +2929,98 @@ msgstr "Удалить этого пользователя"
msgid "Generate Kobo Auth URL"
msgstr "Создать Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Управление сервером"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Выберите имя пользователя"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Ваш email-адрес"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Отправить на Kindle Адрес электронной почты"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Тестовый e-mail"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Масштаб"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Выбрать разрешенные / запрещенные теги"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Выбрать разрешенные / запрещенные теги"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Разрешить смену пароля"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Изменить полку"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Показывать выбор серии"
diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo
index 391944bd..41d13a36 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 09432bdf..6e055b9a 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-03-14 09:30+0100\n"
"Last-Translator: Jonatan Nyberg \n"
"Language: sv\n"
@@ -30,343 +30,359 @@ msgstr "inte installerad"
msgid "Statistics"
msgstr "Statistik"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Server startas om, vänligen uppdatera sidan"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Stänger servern, vänligen stäng fönstret"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Okänd"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Administrationssida"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Användargränssnitt konfiguration"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Adminstratör användare"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Alla"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Visa alla"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web konfiguration uppdaterad"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "Vill du verkligen ta bort Kobo-token?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Är du säker på att du vill ta bort hyllan?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Är du säker på att du vill ta bort hyllan?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "Förneka"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "Tillåt"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Grundläggande konfiguration"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Fyll i alla fält!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-posten är inte från giltig domän"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Lägg till ny användare"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Användaren '%(user)s' skapad"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
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 smeknamnet."
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Användaren '%(nick)s' borttagen"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Redigera användaren %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Användaren '%(nick)s' uppdaterad"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Ett okänt fel uppstod."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Ändra SMTP-inställningar"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Vänligen konfigurera din e-postadress först..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "E-postserverinställningar uppdaterade"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Lösenord för användaren %(user)s återställd"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Ett okänt fel uppstod. Försök igen senare."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Konfigurera SMTP-postinställningarna först..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Visaren för loggfil"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Begär uppdateringspaketet"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Hämtar uppdateringspaketet"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Packar upp uppdateringspaketet"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Ersätta filer"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Databasanslutningarna är stängda"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Stoppar server"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Uppdatering klar, tryck på okej och uppdatera sidan"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Uppdateringen misslyckades:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP-fel"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Anslutningsfel"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Tiden ute när du etablerade anslutning"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Allmänt fel"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -386,90 +402,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Det gick inte att öppna e-boken. Filen finns inte eller filen är inte tillgänglig"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "redigera metadata"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s är inte ett giltigt språk"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Filändelsen '%(ext)s' får inte laddas upp till den här servern"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Filen som ska laddas upp måste ha en ändelse"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Det gick inte att skapa sökväg %(path)s (behörighet nekad)."
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Det gick inte att lagra filen %(file)s."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Filformatet %(ext)s lades till %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metadata uppdaterades"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Det gick inte att redigera boken, kontrollera loggfilen för mer information"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Uppladdad bok finns förmodligen i biblioteket, överväg att ändra innan du laddar upp nya: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Filen %(filename)s kunde inte sparas i temp dir"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "Filen %(file)s uppladdad"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Källa eller målformat för konvertering saknas"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Boken är i kö för konvertering till %(book_format)s"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Det gick inte att konvertera den här boken: %(res)s"
@@ -650,64 +666,72 @@ msgstr "Vänligen få tillgång till calibre-web från icke localhost för att f
msgid "Kobo Setup"
msgstr "Kobo-installation"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "Registrera dig med %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "du är nu inloggad som: \"%(nickname)s\""
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "Det gick inte att logga in med GitHub."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Det gick inte att hämta användarinformation från GitHub."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Det gick inte att logga in med Google."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Det gick inte att hämta användarinformation från Google."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth-fel, försök igen senare."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth-fel, försök igen senare."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -717,7 +741,7 @@ msgstr "Alla"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "logga in"
@@ -733,7 +757,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:414
msgid "Books"
msgstr "Böcker"
@@ -754,20 +778,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Bäst rankade böcker"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
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:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Lästa böcker"
@@ -776,7 +800,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Olästa böcker"
@@ -788,54 +812,55 @@ msgstr "Visa olästa"
msgid "Discover"
msgstr "Upptäck"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Visa slumpmässiga böcker"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategorier"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Visa kategorival"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Serier"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Visa serieval"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Författare"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Visa författarval"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Förlag"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Visa urval av förlag"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Språk"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Visa språkval"
@@ -843,7 +868,7 @@ msgstr "Visa språkval"
msgid "Ratings"
msgstr "Betyg"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Visa val av betyg"
@@ -851,23 +876,23 @@ msgstr "Visa val av betyg"
msgid "File formats"
msgstr "Filformat"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Visa val av filformat"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -995,190 +1020,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Upptäck (slumpmässiga böcker)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Heta böcker (mest hämtade)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
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"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Författare: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Förlag: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Serier: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Betyg: %(rating)s stars"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Filformat: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Språk: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Avancerad sökning"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Sök"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Betygslista"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Lista över filformat"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Uppgifter"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Publicerad efter "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Publicerad före "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Betyg <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Betyg >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, 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:1359
+#: cps/web.py:1393
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:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-postservern är inte konfigurerad, kontakta din administratör!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "registrera"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "Din e-post är inte tillåten att registrera"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Bekräftelsemail skickades till ditt e-postkonto."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "Det går inte att aktivera LDAP-autentisering"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Fel användarnamn eller lösenord"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Nytt lösenord skickades till din e-postadress"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "Ange giltigt användarnamn för att återställa lösenordet"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Du är nu inloggad som: \"%(nickname)s\""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profil"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profilen uppdaterad"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Hittade ett befintligt konto för den här e-postadressen."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Läs en bok"
@@ -1226,12 +1251,12 @@ msgstr "Användarlista"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Smeknamn"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "E-post"
@@ -1240,7 +1265,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Administratör"
@@ -1250,13 +1275,13 @@ msgid "Password"
msgstr "Lösenord"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Ladda upp"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Hämta"
@@ -1264,15 +1289,15 @@ msgstr "Hämta"
msgid "View Books"
msgstr "Visa e-böcker"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Redigera"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Ta bort"
@@ -1435,7 +1460,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1661,98 +1686,98 @@ msgstr "Sökningsfel!"
msgid "No Result(s) found! Please try another keyword."
msgstr "Inga resultat hittades! Försök med ett annat sökord."
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Titel"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Är du verkligen säker?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2150,7 +2175,7 @@ msgid "Default Visibilities for New Users"
msgstr "Standardvisibiliteter för nya användare"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Visa slumpmässiga böcker i detaljvyn"
@@ -2233,7 +2258,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2241,7 +2266,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2265,7 +2290,7 @@ msgid "Save and Send Test E-mail"
msgstr "Spara inställningarna och skicka test-e-post"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Tillbaka"
@@ -2895,7 +2920,7 @@ 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:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Ta bort den här användaren"
@@ -2903,93 +2928,98 @@ msgstr "Ta bort den här användaren"
msgid "Generate Kobo Auth URL"
msgstr "Skapa Kobo Auth URL"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Adminstratör användare"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Välj ett användarnamn"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Din e-postadress"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Test e-post"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Skala"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "Välj tillåtna/avvisade taggar"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "Välj tillåtna/avvisade taggar"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Tillåt Ändra lösenord"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Redigera en hylla"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Visa serieval"
diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo
index ed4aab6d..dec51d53 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 dfc48a02..d6143b2c 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-04-23 22:47+0300\n"
"Last-Translator: iz \n"
"Language: tr\n"
@@ -30,341 +30,357 @@ msgstr "yüklü değil"
msgid "Statistics"
msgstr "İstatistikler"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Sunucu yeniden başlatıldı, lütfen sayfayı yeniden yükleyin"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Sunucu kapatıyor, lütfen pencereyi kapatın"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Bilinmeyen"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Yönetim sayfası"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Arayüz Ayarları"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "Tümü"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr ""
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web yapılandırması güncellendi"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:435
+#: cps/admin.py:466
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Temel Ayarlar"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Lütfen tüm alanları doldurun!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "E-posta izin verilen bir servisten değil"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Yeni kullanıcı ekle"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "'%(user)s' kullanıcısı oluşturuldu"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, 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:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Kullanıcı '%(nick)s' silindi"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "Başka yönetici kullanıcı olmadığından silinemedi"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s kullanıcısını düzenle"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "'%(nick)s' kullanıcısı güncellendi"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Bilinmeyen bir hata oluştu."
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, 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:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "Lütfen önce e-posta adresinizi ayarlayın..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "E-posta sunucusu ayarları güncellendi"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s kullanıcısının şifresi sıfırlandı"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz."
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "Log dosyası görüntüleyici"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Güncelleme paketi isteniyor"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Güncelleme paketi indiriliyor"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Güncelleme paketi ayıklanıyor"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "Dosyalar değiştiriliyor"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "Veritabanı bağlantıları kapalı"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "Sunucu durduruyor"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
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:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "Güncelleme başarısız:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP Hatası"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "Bağlantı kurulmaya çalışırken zaman aşımına uğradı"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "Genel hata"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -384,90 +400,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "eKitap açılırken hata oluştu. Dosya mevcut değil veya erişilemiyor"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "metaveri düzenle"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s geçerli bir dil değil"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "'%(ext)s' uzantılı dosyaların bu sunucuya yüklenmesine izin verilmiyor"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "%(file)s dosyası kaydedilemedi."
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "Metaveri başarıyla güncellendi"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "eKitap düzenlenirken hata oluştu, detaylar için lütfen log dosyasını kontrol edin"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Yüklenen eKitap muhtemelen kitaplıkta zaten var. Yenisini yüklemeden değiştirmeyi düşünün: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "%(filename)s dosyası geçici dizine kaydedilemedi"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "%(file)s dosyası yüklendi"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "Dönüştürme için kaynak ya da hedef biçimi eksik"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "eKitap %(book_format)s formatlarına dönüştürülmek üzere başarıyla sıraya alındı"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Bu eKitabı dönüştürürken bir hata oluştu: %(res)s"
@@ -648,64 +664,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "%(provider)s ile Kaydol"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "giriş yaptınız: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "GitHub ile giriş yapılamadı."
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "Github'dan kullanıcı bilgileri alınamadı."
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "Google ile giriş yapılamadı."
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "Google'dan kullanıcı bilgileri alınamadı."
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth hatası, lütfen tekrar deneyin."
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth hatası, lütfen tekrar deneyin."
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -715,7 +739,7 @@ msgstr "Tümü"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "giriş"
@@ -731,7 +755,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:414
msgid "Books"
msgstr "eKitaplar"
@@ -752,20 +776,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr ""
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Okunanlar"
@@ -774,7 +798,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Okunmamışlar"
@@ -786,54 +810,55 @@ msgstr "Okunmamışları göster"
msgid "Discover"
msgstr "Keşfet"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Rastgele eKitap göster"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Kategoriler"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Kategori seçimini göster"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Seriler"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Seri seçimini göster"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Yazarlar"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Yazar seçimini göster"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "Yayıncılar"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "Yayıncı seçimini göster"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Diller"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Dil seçimini göster"
@@ -841,7 +866,7 @@ msgstr "Dil seçimini göster"
msgid "Ratings"
msgstr "Değerlendirmeler"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "Değerlendirme seçimini göster"
@@ -849,23 +874,23 @@ msgstr "Değerlendirme seçimini göster"
msgid "File formats"
msgstr "Biçimler"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "Dosya biçimi seçimini göster"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -993,190 +1018,190 @@ 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:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Keşfet (Rastgele)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "Yazar: %(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "Yayınevi: %(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Seri: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Değerlendirme: %(rating)s yıldız"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "Biçim: %(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Dil: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Gelişmiş Arama"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Ara"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr ""
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "Değerlendirme listesi"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "Biçim listesi"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "Görevler"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "Yayınlanma (sonra)"
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Yayınlanma (önce)"
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Değerlendirme <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Değerlendirme >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, 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:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1376
+#: cps/web.py:1410
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/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "kaydol"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Onay e-Postası hesabınıza gönderildi."
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Yanlış Kullanıcı adı ya da Şifre"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "Yeni şifre e-Posta adresinize gönderildi"
-#: cps/web.py:1471
+#: cps/web.py:1505
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:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Giriş yaptınız: '%(nickname)s'"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s Profili"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Profil güncellendi"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "Bu e-posta adresi için bir hesap mevcut."
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Kitap Oku"
@@ -1224,12 +1249,12 @@ msgstr ""
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Kullanıcı adı"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr ""
@@ -1238,7 +1263,7 @@ msgid "Send to Kindle E-mail Address"
msgstr ""
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Yönetim"
@@ -1248,13 +1273,13 @@ msgid "Password"
msgstr "Şifre"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Yükleme"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "İndirme"
@@ -1262,15 +1287,15 @@ msgstr "İndirme"
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Düzenleme"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Sil"
@@ -1433,7 +1458,7 @@ msgid "OK"
msgstr ""
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1659,98 +1684,98 @@ msgstr "Arama hatası!"
msgid "No Result(s) found! Please try another keyword."
msgstr ""
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Başlık"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "Emin misiniz?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2148,7 +2173,7 @@ msgid "Default Visibilities for New Users"
msgstr ""
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr ""
@@ -2231,7 +2256,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2239,7 +2264,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2263,7 +2288,7 @@ msgid "Save and Send Test E-mail"
msgstr ""
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Geri"
@@ -2893,7 +2918,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr ""
@@ -2901,86 +2926,91 @@ msgstr ""
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
msgid "Edit User"
msgstr ""
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Kullanıcı adı seç"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "E-Posta adresiniz"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "E-Posta adresiniz"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "Deneme e-Postası"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "Ölçeklendir"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Şifre değiştirmeye izin ver"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Kitaplığı düzenle"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Seri seçimini göster"
diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo
index fc7eb5aa..493eecb8 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 ea4d6fd1..47243231 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: ABIS Team \n"
"Language: uk\n"
@@ -29,341 +29,357 @@ msgstr "не встановлено"
msgid "Statistics"
msgstr "Статистика"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "Сервер перезавантажено, будь-ласка, перезавантажте сторінку"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "Виконується зупинка серверу, будь-ласка, закрийте вікно"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Невідомий"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "Сторінка адміністратора"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "Конфігурація інтерфейсу"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Керування сервером"
-#: cps/admin.py:263
+#: cps/admin.py:278
msgid "all"
msgstr ""
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "Показати всі"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "Будь-ласка, заповніть всі поля!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "Додати користувача"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "Користувач '%(user)s' додан"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Користувача '%(nick)s' видалено"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "Змінити користувача %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Користувача '%(nick)s' оновлено"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "Сталась невідома помилка"
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Змінити налаштування SMTP"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP"
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "Перевірка оновлень"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "Завантаження оновлень"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "Розпакування оновлення"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "З'єднання з базою даних закрите"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr ""
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -383,90 +399,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "Сталась помилка при відкриванні eBook. Файл не існує або відсутній доступ до нього"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "змінити метадані"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "Завантажувальний файл повинен мати розширення"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "Сталась помилка при редагуванні книги. Будь-ласка, перевірте лог-файл для деталей"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
@@ -646,64 +662,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Ви увійшли як користувач: '%(nickname)s'"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr ""
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr ""
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr ""
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr ""
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr ""
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -713,7 +737,7 @@ msgstr ""
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "увійти"
@@ -729,7 +753,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:414
msgid "Books"
msgstr ""
@@ -750,20 +774,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "Книги з найкращим рейтингом"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr "Показувати книги з найвищим рейтингом"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "Прочитані книги"
@@ -772,7 +796,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "Непрочитані книги"
@@ -784,54 +808,55 @@ msgstr ""
msgid "Discover"
msgstr "Огляд"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "Показувати випадкові книги"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "Категорії"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "Показувати вибір категорії"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "Серії"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "Показувати вибір серії"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "Автори"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "Показувати вибір автора"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr ""
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr ""
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "Мови"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "Показувати вибір мови"
@@ -839,7 +864,7 @@ msgstr "Показувати вибір мови"
msgid "Ratings"
msgstr ""
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr ""
@@ -847,23 +872,23 @@ msgstr ""
msgid "File formats"
msgstr ""
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -991,190 +1016,190 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "Огляд (випадкові книги)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "Популярні книги (найбільш завантажувані)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу."
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "Серії: %(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "Категорія: %(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "Мова: %(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "Розширений пошук"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "Пошук"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr ""
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr ""
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr ""
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "Опубліковано до"
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Помилка при відправці книги: %(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "зареєструватись"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "Помилка в імені користувача або паролі"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "Профіль %(name)s"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "Профіль оновлено"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr ""
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "Читати книгу"
@@ -1222,12 +1247,12 @@ msgstr "Список користувачів"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "Ім'я користувача"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr ""
@@ -1236,7 +1261,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "Kindle"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "Адмін"
@@ -1246,13 +1271,13 @@ msgid "Password"
msgstr "Пароль"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "Додати нову книгу"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "Завантажити"
@@ -1260,15 +1285,15 @@ msgstr "Завантажити"
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "Редагувати"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "Видалити"
@@ -1431,7 +1456,7 @@ msgid "OK"
msgstr "Ok"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1657,98 +1682,98 @@ msgstr "Помилка пошуку!"
msgid "No Result(s) found! Please try another keyword."
msgstr ""
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Заголовок"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr ""
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2146,7 +2171,7 @@ msgid "Default Visibilities for New Users"
msgstr "Можливості за замовчуванням для нових користувачів"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "Показувати випадкові книги при перегляді деталей"
@@ -2229,7 +2254,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2237,7 +2262,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2261,7 +2286,7 @@ msgid "Save and Send Test E-mail"
msgstr "Зберегти налаштування і відправити тестове повідомлення"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "Назад"
@@ -2891,7 +2916,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "Видалити цього користувача"
@@ -2899,85 +2924,90 @@ msgstr "Видалити цього користувача"
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "Керування сервером"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "Виберіть ім'я користувача"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "Ваш email-адрес"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "Kindle"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
msgid "Kindle E-mail"
msgstr ""
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
msgid "Locale"
msgstr ""
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "Дозволити зміну пароля"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "Змінити книжкову полицю"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "Показувати вибір серії"
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
index 35126392..3a6bffcf 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 997bccd1..e436e774 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-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: dalin \n"
"Language: zh_CN\n"
@@ -30,343 +30,359 @@ msgstr "未安装"
msgid "Statistics"
msgstr "统计"
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr "服务器已重启,请刷新页面"
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr "正在关闭服务器,请关闭窗口"
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr "重新连接成功"
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr "未知命令"
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "未知"
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr "管理页"
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "管理员用户"
-#: cps/admin.py:263
+#: cps/admin.py:278
#, fuzzy
msgid "all"
msgstr "全部"
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr "找不到用户"
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr "显示全部"
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr "理员账户不存在,无法删除管理员角色"
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web配置已更新"
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr "您确定删除Kobo Token吗?"
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "您确定要删除此书架吗?"
-#: cps/admin.py:435
+#: cps/admin.py:466
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "您确定要删除此书架吗?"
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr "隐藏"
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr "显示"
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json 未为 Web 应用程序配置"
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "日志文件路径无效,请输入正确的路径"
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "访问日志路径无效,请输入正确的路径"
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "请输入LDAP主机、端口、DN和用户对象标识符"
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP组对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP组对象过滤器的括号不匹配"
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP用户对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP用户对象过滤器的括号不匹配"
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "密钥文件路径无效,请输入正确的路径"
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "证书文件路径无效,请输入正确的路径"
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr "设置数据库不可写入"
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "数据库路径无效,请输入正确的路径"
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr "数据库不可写入"
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr "基本配置"
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr "请填写所有字段!"
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr "邮箱不在有效域中"
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr "添加新用户"
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr "用户“%(user)s”已创建"
-#: cps/admin.py:1178
+#: cps/admin.py:1209
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "此邮箱或用户名的账号已经存在。"
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户“%(nick)s”已删除"
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr "管理员账户不存在,无法删除用户"
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户“%(nick)s”已更新"
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr "发生未知错误。"
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "编辑邮件服务器设置"
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "发送测试邮件时出错:%(res)s"
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr "请先配置您的邮箱地址..."
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr "邮件服务器设置已更新"
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr "找不到用户"
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用户 %(user)s 的密码已重置"
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr "发生一个未知错误,请稍后再试。"
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱设置..."
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr "日志文件查看器"
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr "正在请求更新包"
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr "正在下载更新包"
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr "正在解压更新包"
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr "正在替换文件"
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr "数据库连接已关闭"
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr "正在停止服务器"
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,请点击确定并刷新页面"
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr "更新失败:"
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr "HTTP错误"
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr "连接错误"
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr "建立连接超时"
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr "一般错误"
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "更新文件无法保存在临时目录中"
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr "创建至少一个LDAP用户失败"
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "错误:%(ldaperror)s"
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr "错误:在LDAP服务器的响应中没有返回用户"
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr "数据库中没有找到至少一个LDAP用户"
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -386,90 +402,90 @@ msgstr "书籍格式已成功删除"
msgid "Book Successfully Deleted"
msgstr "书籍已成功删除"
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "打开电子书出错。文件不存在或不可访问"
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr "编辑元数据"
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr "%(langname)s 不是一种有效语言"
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器"
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr "要上传的文件必须具有扩展名"
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "创建路径 %(path)s 失败(权限拒绝)。"
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失败。"
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr "数据库错误:%(error)s。"
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "已添加 %(ext)s 格式到 %(book)s"
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "标识符不区分大小写,覆盖旧标识符"
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr "已成功更新元数据"
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr "编辑书籍出错,请检查日志文件以获取详细信息"
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "上传的书籍可能已经存在,建议修改后重新上传: "
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "文件 %(filename)s 无法保存到临时目录"
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "移动封面文件失败 %(file)s:%(error)s"
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr "文件 %(file)s 已上传"
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr "转换的源或目的格式缺失"
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "书籍已经被成功加入到 %(book_format)s 格式转换队列"
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "转换此书籍时出现错误: %(res)s"
@@ -650,64 +666,72 @@ msgstr "请不要使用localhost访问Calibre-Web,以便Kobo设备能获取有
msgid "Kobo Setup"
msgstr "Kobo 设置"
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr "使用 %(provider)s 注册"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”身份登录"
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr "链接到%(oauth)s成功"
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr "登录失败,没有用户与OAuth帐户关联"
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr "取消链接到%(oauth)s成功"
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr "取消链接到%(oauth)s失败"
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr "为连接到%(oauth)s"
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr "使用Github登录失败。"
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr "从Github获取用户信息失败。"
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr "使用Google登录失败。"
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr "从Google获取用户信息失败。"
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr "GitHub Oauth 错误,请重试。"
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr "Google Oauth 错误,请重试。"
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -717,7 +741,7 @@ msgstr "全部"
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr "登录"
@@ -733,7 +757,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:414
msgid "Books"
msgstr "书籍"
@@ -754,20 +778,20 @@ msgid "Downloaded Books"
msgstr "下载历史"
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr "显示下载过的书籍"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr "最高评分书籍"
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr "显示最高评分书籍"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr "已读书籍"
@@ -776,7 +800,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr "未读书籍"
@@ -788,54 +812,55 @@ msgstr "显示未读"
msgid "Discover"
msgstr "发现"
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr "显示随机书籍"
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr "分类"
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr "显示分类选择"
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr "丛书"
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr "显示丛书选择"
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr "作者"
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr "显示作者选择"
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr "出版社"
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr "显示出版社选择"
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr "语言"
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr "显示语言选择"
@@ -843,7 +868,7 @@ msgstr "显示语言选择"
msgid "Ratings"
msgstr "评分"
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr "显示评分选择"
@@ -851,23 +876,23 @@ msgstr "显示评分选择"
msgid "File formats"
msgstr "文件格式"
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr "显示文件格式选择"
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr "归档书籍"
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr "显示归档书籍"
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr "书籍列表"
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr "显示书籍列表"
@@ -995,190 +1020,190 @@ msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s"
msgid "No release information available"
msgstr "无可用发布信息"
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr "发现(随机书籍)"
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr "热门书籍(最多下载)"
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "%(user)s 下载过的书籍"
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问"
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr "作者:%(name)s"
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社:%(name)s"
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr "丛书:%(serie)s"
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "评分:%(rating)s 星"
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr "文件格式:%(format)s"
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr "分类:%(name)s"
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr "语言:%(name)s"
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "自定义列号:%(column)d在Calibre数据库中不存在"
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr "高级搜索"
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr "搜索"
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr "下载次数"
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr "评分列表"
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr "文件格式列表"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr "任务列表"
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr "出版时间晚于 "
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr "出版时间早于 "
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr "评分 <= %(rating)s"
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr "评分 >= %(rating)s"
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "书籍已经成功加入 %(kindlemail)s 的发送队列"
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s"
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "请先配置您的kindle邮箱。"
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "邮件服务未配置,请联系网站管理员!"
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr "注册"
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr "您的电子邮件不允许注册"
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "确认邮件已经发送到您的邮箱。"
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr "无法激活LDAP认证"
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "后备登录“%(nickname)s”:无法访问LDAP服务器,或用户未知"
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr "无法登录:%(message)s"
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr "用户名或密码错误"
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr "新密码已发送到您的邮箱"
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr "请输入有效的用户名进行密码重置"
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”登录"
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用户配置"
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr "资料已更新"
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr "此邮箱的账号已经存在。"
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr "阅读一本书"
@@ -1226,12 +1251,12 @@ msgstr "用户列表"
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr "用户名"
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr "邮箱地址"
@@ -1240,7 +1265,7 @@ msgid "Send to Kindle E-mail Address"
msgstr "接收书籍的Kindle邮箱地址"
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr "管理权限"
@@ -1250,13 +1275,13 @@ msgid "Password"
msgstr "密码"
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr "上传书籍"
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr "下载书籍"
@@ -1264,15 +1289,15 @@ msgstr "下载书籍"
msgid "View Books"
msgstr "查看书籍"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr "编辑书籍"
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr "删除数据"
@@ -1435,7 +1460,7 @@ msgid "OK"
msgstr "确定"
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1661,98 +1686,98 @@ msgstr "搜索错误!"
msgid "No Result(s) found! Please try another keyword."
msgstr "无搜索结果!请尝试另一个关键字。"
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr "此栏必须填写"
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr "合并选中的书籍"
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr "删除选中的书籍"
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr "自动更新书名排序"
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr "自动更新作者排序"
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr "输入书名"
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "书名"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr "输入书名排序"
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr "书名排序"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr "输入作者排序"
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr "作者排序"
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr "输入作者"
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr "输入分类"
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr "输入丛书"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr "输入书名"
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr "丛书编号"
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr "输入语言"
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr "出版日期"
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr "输入出版社"
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr "您真的确认?"
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr "这本书籍将被合并:"
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr "合并到这本书籍:"
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr "合并"
@@ -2150,7 +2175,7 @@ msgid "Default Visibilities for New Users"
msgstr "新用户默认显示权限"
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr "在主页显示随机书籍"
@@ -2233,7 +2258,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2241,7 +2266,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2265,7 +2290,7 @@ msgid "Save and Send Test E-mail"
msgstr "保存设置并发送测试邮件"
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr "后退"
@@ -2895,7 +2920,7 @@ msgstr "新建或查看"
msgid "Add allowed/Denied Custom Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr "删除此用户"
@@ -2903,93 +2928,98 @@ msgstr "删除此用户"
msgid "Generate Kobo Auth URL"
msgstr "生成Kobo Auth 地址"
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
#, fuzzy
msgid "Edit User"
msgstr "管理员用户"
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
#, fuzzy
msgid "Enter Username"
msgstr "选择一个用户名"
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
#, fuzzy
msgid "Enter E-mail Address"
msgstr "您的邮箱地址"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Enter Kindle E-mail Address"
msgstr "接收书籍的Kindle邮箱地址"
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
#, fuzzy
msgid "Kindle E-mail"
msgstr "测试邮件"
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
#, fuzzy
msgid "Locale"
msgstr "缩放"
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
#, fuzzy
msgid "Edit Denied Tags"
msgstr "选择标签值显示或隐藏书籍"
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
#, fuzzy
msgid "Edit Allowed Tags"
msgstr "选择标签值显示或隐藏书籍"
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Edit Allowed Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
#, fuzzy
msgid "Allowed Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Edit Denied Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
#, fuzzy
msgid "Denied Columns Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
#, fuzzy
msgid "Change Password"
msgstr "允许修改密码"
#: cps/templates/user_table.html:118
+msgid "View"
+msgstr ""
+
+#: cps/templates/user_table.html:121
#, fuzzy
msgid "Edit Public Shelfs"
msgstr "公共书架"
-#: cps/templates/user_table.html:120
-msgid "View"
-msgstr ""
+#: cps/templates/user_table.html:124
+#, fuzzy
+msgid "Show read/unread selection"
+msgstr "显示丛书选择"
diff --git a/cps/usermanagement.py b/cps/usermanagement.py
index ef7174c4..78e80afe 100644
--- a/cps/usermanagement.py
+++ b/cps/usermanagement.py
@@ -75,8 +75,9 @@ def load_user_from_auth_header(header_val):
basic_username = basic_password = '' # nosec
try:
header_val = base64.b64decode(header_val).decode('utf-8')
- basic_username = header_val.split(':')[0]
- basic_password = header_val.split(':')[1]
+ # Users with colon are invalid: rfc7617 page 4
+ basic_username = header_val.split(':', 1)[0]
+ basic_password = header_val.split(':', 1)[1]
except (TypeError, UnicodeDecodeError, binascii.Error):
pass
user = _fetch_user_by_name(basic_username)
diff --git a/cps/web.py b/cps/web.py
index 0eaacdb1..e01b4b22 100644
--- a/cps/web.py
+++ b/cps/web.py
@@ -760,10 +760,26 @@ def list_books():
sort = request.args.get("sort", "id")
order = request.args.get("order", "").lower()
state = None
+ join = tuple()
if sort == "state":
state = json.loads(request.args.get("state", "[]"))
- if sort != "state" and order:
+ elif sort == "tags":
+ order = [db.Tags.name.asc()] if order == "asc" else [db.Tags.name.desc()]
+ join = db.books_tags_link,db.Books.id == db.books_tags_link.c.book, db.Tags
+ elif sort == "series":
+ order = [db.Series.name.asc()] if order == "asc" else [db.Series.name.desc()]
+ join = db.books_series_link,db.Books.id == db.books_series_link.c.book, db.Series
+ elif sort == "publishers":
+ order = [db.Publishers.name.asc()] if order == "asc" else [db.Publishers.name.desc()]
+ join = db.books_publishers_link,db.Books.id == db.books_publishers_link.c.book, db.Publishers
+ elif sort == "authors":
+ order = [db.Authors.name.asc()] if order == "asc" else [db.Authors.name.desc()]
+ join = db.books_authors_link,db.Books.id == db.books_authors_link.c.book, db.Authors
+ elif sort == "languages":
+ order = [db.Languages.lang_code.asc()] if order == "asc" else [db.Languages.lang_code.desc()]
+ join = db.books_languages_link,db.Books.id == db.books_languages_link.c.book, db.Languages
+ elif order and sort in ["sort", "title", "authors_sort", "series_index"]:
order = [text(sort + " " + order)]
elif not state:
order = [db.Books.timestamp.desc()]
@@ -778,9 +794,9 @@ 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)
+ 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)
+ entries, __, __ = calibre_db.fill_indexpage((int(off) / (int(limit)) + 1), limit, db.Books, True, order, *join)
for entry in entries:
for index in range(0, len(entry.languages)):
diff --git a/messages.pot b/messages.pot
index c8f49da7..683bbe45 100644
--- a/messages.pot
+++ b/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-06 18:07+0200\n"
+"POT-Creation-Date: 2021-04-18 12:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -29,339 +29,355 @@ msgstr ""
msgid "Statistics"
msgstr ""
-#: cps/admin.py:151
+#: cps/admin.py:152
msgid "Server restarted, please reload page"
msgstr ""
-#: cps/admin.py:153
+#: cps/admin.py:154
msgid "Performing shutdown of server, please close window"
msgstr ""
-#: cps/admin.py:161
+#: cps/admin.py:162
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:164
+#: cps/admin.py:165
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:174 cps/editbooks.py:659 cps/editbooks.py:673
-#: cps/editbooks.py:812 cps/editbooks.py:814 cps/editbooks.py:841
-#: cps/editbooks.py:857 cps/updater.py:539 cps/uploader.py:94
+#: cps/admin.py:175 cps/editbooks.py:668 cps/editbooks.py:682
+#: cps/editbooks.py:821 cps/editbooks.py:823 cps/editbooks.py:850
+#: cps/editbooks.py:866 cps/updater.py:539 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr ""
-#: cps/admin.py:195
+#: cps/admin.py:196
msgid "Admin page"
msgstr ""
-#: cps/admin.py:217
+#: cps/admin.py:218
msgid "UI Configuration"
msgstr ""
-#: cps/admin.py:237 cps/templates/admin.html:46
+#: cps/admin.py:238 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:263
+#: cps/admin.py:278
msgid "all"
msgstr ""
-#: cps/admin.py:298 cps/templates/user_edit.html:44
-#: cps/templates/user_table.html:52
+#: cps/admin.py:300 cps/admin.py:1389
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:320 cps/templates/user_edit.html:44
+#: cps/templates/user_table.html:54
msgid "Show All"
msgstr ""
-#: cps/admin.py:331 cps/admin.py:1233
+#: cps/admin.py:353 cps/admin.py:1275
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:345 cps/admin.py:1198
+#: cps/admin.py:362
+msgid "Guest can't have this role"
+msgstr ""
+
+#: cps/admin.py:371 cps/admin.py:1240
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:416 cps/admin.py:1101
+#: cps/admin.py:376
+msgid "Guest can't have this view"
+msgstr ""
+
+#: cps/admin.py:391
+msgid "Guest's Locale is determined automatically and can't be set"
+msgstr ""
+
+#: cps/admin.py:447 cps/admin.py:1132
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:427
+#: cps/admin.py:458
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:429
+#: cps/admin.py:460
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:431
+#: cps/admin.py:462
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:433 cps/templates/shelf.html:90
+#: cps/admin.py:464 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:435
+#: cps/admin.py:466
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:437
+#: cps/admin.py:468
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:439
+#: cps/admin.py:470
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:441
+#: cps/admin.py:472
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:687 cps/admin.py:693 cps/admin.py:703 cps/admin.py:713
-#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:28
+#: cps/admin.py:718 cps/admin.py:724 cps/admin.py:734 cps/admin.py:744
+#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:689 cps/admin.py:695 cps/admin.py:705 cps/admin.py:715
-#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:33
+#: cps/admin.py:720 cps/admin.py:726 cps/admin.py:736 cps/admin.py:746
+#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:34
msgid "Allow"
msgstr ""
-#: cps/admin.py:857
+#: cps/admin.py:888
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:899
+#: cps/admin.py:930
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:905
+#: cps/admin.py:936
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:935
+#: cps/admin.py:966
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:950
+#: cps/admin.py:981
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:953
+#: cps/admin.py:984
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:989
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:961
+#: cps/admin.py:992
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:969
+#: cps/admin.py:1000
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:972
+#: cps/admin.py:1003
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:980
+#: cps/admin.py:1011
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1006
+#: cps/admin.py:1037
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1012
+#: cps/admin.py:1043
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1082 cps/admin.py:1181 cps/admin.py:1257 cps/admin.py:1321
+#: cps/admin.py:1113 cps/admin.py:1212 cps/admin.py:1299 cps/admin.py:1364
#: cps/shelf.py:102 cps/shelf.py:159 cps/shelf.py:200 cps/shelf.py:261
#: cps/shelf.py:314 cps/shelf.py:348 cps/shelf.py:418
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1094
+#: cps/admin.py:1125
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1129
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1137
+#: cps/admin.py:1168
msgid "Basic Configuration"
msgstr ""
-#: cps/admin.py:1153 cps/web.py:1383
+#: cps/admin.py:1184 cps/web.py:1417
msgid "Please fill out all fields!"
msgstr ""
-#: cps/admin.py:1161
+#: cps/admin.py:1192
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1165 cps/admin.py:1275
+#: cps/admin.py:1196 cps/admin.py:1318
msgid "Add new user"
msgstr ""
-#: cps/admin.py:1174
+#: cps/admin.py:1205
#, python-format
msgid "User '%(user)s' created"
msgstr ""
-#: cps/admin.py:1178
+#: cps/admin.py:1209
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1190
+#: cps/admin.py:1221
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/admin.py:1193
+#: cps/admin.py:1223 cps/admin.py:1224
+msgid "Can't delete Guest User"
+msgstr ""
+
+#: cps/admin.py:1227
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1247 cps/admin.py:1362
+#: cps/admin.py:1289 cps/admin.py:1407
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/admin.py:1251
+#: cps/admin.py:1293
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
-#: cps/admin.py:1254
+#: cps/admin.py:1296
msgid "An unknown error occured."
msgstr ""
-#: cps/admin.py:1284 cps/templates/admin.html:94
+#: cps/admin.py:1327 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1303
+#: cps/admin.py:1346
msgid "G-Mail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1328
+#: cps/admin.py:1371
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1374
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1333
+#: cps/admin.py:1376
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1335
+#: cps/admin.py:1378
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1346
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:1374
+#: cps/admin.py:1419
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1377 cps/web.py:1408 cps/web.py:1469
+#: cps/admin.py:1422 cps/web.py:1442 cps/web.py:1503
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1380 cps/web.py:1348
+#: cps/admin.py:1425 cps/web.py:1382
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/admin.py:1391
+#: cps/admin.py:1436
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1457
+#: cps/admin.py:1502
msgid "Requesting update package"
msgstr ""
-#: cps/admin.py:1458
+#: cps/admin.py:1503
msgid "Downloading update package"
msgstr ""
-#: cps/admin.py:1459
+#: cps/admin.py:1504
msgid "Unzipping update package"
msgstr ""
-#: cps/admin.py:1460
+#: cps/admin.py:1505
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1461
+#: cps/admin.py:1506
msgid "Database connections are closed"
msgstr ""
-#: cps/admin.py:1462
+#: cps/admin.py:1507
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1463
+#: cps/admin.py:1508
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/admin.py:1464 cps/admin.py:1465 cps/admin.py:1466 cps/admin.py:1467
-#: cps/admin.py:1468
+#: cps/admin.py:1509 cps/admin.py:1510 cps/admin.py:1511 cps/admin.py:1512
+#: cps/admin.py:1513
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1464 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
+#: cps/admin.py:1509 cps/updater.py:343 cps/updater.py:550 cps/updater.py:552
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1465 cps/updater.py:345 cps/updater.py:554
+#: cps/admin.py:1510 cps/updater.py:345 cps/updater.py:554
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1466 cps/updater.py:347 cps/updater.py:556
+#: cps/admin.py:1511 cps/updater.py:347 cps/updater.py:556
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1467 cps/updater.py:349 cps/updater.py:558
+#: cps/admin.py:1512 cps/updater.py:349 cps/updater.py:558
msgid "General error"
msgstr ""
-#: cps/admin.py:1468
+#: cps/admin.py:1513
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1529
+#: cps/admin.py:1574
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1542
+#: cps/admin.py:1587
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1546
+#: cps/admin.py:1591
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1579
+#: cps/admin.py:1624
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1581
+#: cps/admin.py:1626
msgid "{} User Successfully Imported"
msgstr ""
@@ -381,90 +397,90 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:352 cps/editbooks.py:715 cps/web.py:1593 cps/web.py:1629
-#: cps/web.py:1700
+#: cps/editbooks.py:361 cps/editbooks.py:724 cps/web.py:1627 cps/web.py:1663
+#: cps/web.py:1734
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
-#: cps/editbooks.py:386
+#: cps/editbooks.py:395
msgid "edit metadata"
msgstr ""
-#: cps/editbooks.py:464
+#: cps/editbooks.py:473
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
-#: cps/editbooks.py:586 cps/editbooks.py:927
+#: cps/editbooks.py:595 cps/editbooks.py:936
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
-#: cps/editbooks.py:590 cps/editbooks.py:931
+#: cps/editbooks.py:599 cps/editbooks.py:940
msgid "File to be uploaded must have an extension"
msgstr ""
-#: cps/editbooks.py:602
+#: cps/editbooks.py:611
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
-#: cps/editbooks.py:607
+#: cps/editbooks.py:616
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:625 cps/editbooks.py:1018 cps/web.py:1554
+#: cps/editbooks.py:634 cps/editbooks.py:1027 cps/web.py:1588
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/editbooks.py:629
+#: cps/editbooks.py:638
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
-#: cps/editbooks.py:766
+#: cps/editbooks.py:775
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:798
+#: cps/editbooks.py:807
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:807
+#: cps/editbooks.py:816
msgid "Error editing book, please check logfile for details"
msgstr ""
-#: cps/editbooks.py:845
+#: cps/editbooks.py:854
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:939
+#: cps/editbooks.py:948
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:958
+#: cps/editbooks.py:967
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:1004
+#: cps/editbooks.py:1013
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:1030
+#: cps/editbooks.py:1039
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:1038
+#: cps/editbooks.py:1047
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:1042
+#: cps/editbooks.py:1051
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
@@ -644,64 +660,72 @@ msgstr ""
msgid "Kobo Setup"
msgstr ""
-#: cps/oauth_bb.py:77
+#: cps/oauth_bb.py:78
#, python-format
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1441
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1475
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/oauth_bb.py:148
+#: cps/oauth_bb.py:149
#, python-format
msgid "Link to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:154
+#: cps/oauth_bb.py:156
msgid "Login failed, No User Linked With OAuth Account"
msgstr ""
-#: cps/oauth_bb.py:196
+#: cps/oauth_bb.py:198
#, python-format
msgid "Unlink to %(oauth)s Succeeded"
msgstr ""
-#: cps/oauth_bb.py:200
+#: cps/oauth_bb.py:203
#, python-format
msgid "Unlink to %(oauth)s Failed"
msgstr ""
-#: cps/oauth_bb.py:203
+#: cps/oauth_bb.py:206
#, python-format
msgid "Not Linked to %(oauth)s"
msgstr ""
-#: cps/oauth_bb.py:259
+#: cps/oauth_bb.py:262
msgid "Failed to log in with GitHub."
msgstr ""
-#: cps/oauth_bb.py:264
+#: cps/oauth_bb.py:268
msgid "Failed to fetch user info from GitHub."
msgstr ""
-#: cps/oauth_bb.py:275
+#: cps/oauth_bb.py:280
msgid "Failed to log in with Google."
msgstr ""
-#: cps/oauth_bb.py:280
+#: cps/oauth_bb.py:286
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:325
+#: cps/oauth_bb.py:333
msgid "GitHub Oauth error, please retry later."
msgstr ""
-#: cps/oauth_bb.py:344
+#: cps/oauth_bb.py:336
+msgid "GitHub Oauth error: {}"
+msgstr ""
+
+#: cps/oauth_bb.py:357
msgid "Google Oauth error, please retry later."
msgstr ""
+#: cps/oauth_bb.py:360
+msgid "Google Oauth error: {}"
+msgstr ""
+
#: cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 cps/opds.py:328
#: cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
@@ -711,7 +735,7 @@ msgstr ""
msgid "{} Stars"
msgstr ""
-#: cps/remotelogin.py:65 cps/web.py:1488
+#: cps/remotelogin.py:65 cps/web.py:1522
msgid "login"
msgstr ""
@@ -727,7 +751,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:414
msgid "Books"
msgstr ""
@@ -748,20 +772,20 @@ msgid "Downloaded Books"
msgstr ""
#: cps/render_template.py:48 cps/render_template.py:53
-#: cps/templates/user_table.html:133
+#: cps/templates/user_table.html:135
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:423
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:424
msgid "Top Rated Books"
msgstr ""
-#: cps/render_template.py:58 cps/templates/user_table.html:127
+#: cps/render_template.py:58 cps/templates/user_table.html:129
msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:649
+#: cps/templates/index.xml:58 cps/web.py:650
msgid "Read Books"
msgstr ""
@@ -770,7 +794,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:652
+#: cps/templates/index.xml:65 cps/web.py:653
msgid "Unread Books"
msgstr ""
@@ -782,54 +806,55 @@ msgstr ""
msgid "Discover"
msgstr ""
-#: cps/render_template.py:68 cps/templates/user_table.html:125
-#: cps/templates/user_table.html:128
+#: cps/render_template.py:68 cps/templates/user_table.html:127
+#: cps/templates/user_table.html:130
msgid "Show random books"
msgstr ""
-#: cps/render_template.py:69 cps/templates/book_table.html:50
-#: cps/templates/index.xml:83 cps/web.py:990
+#: cps/render_template.py:69 cps/templates/book_table.html:51
+#: cps/templates/index.xml:83 cps/web.py:1024
msgid "Categories"
msgstr ""
-#: cps/render_template.py:71 cps/templates/user_table.html:124
+#: cps/render_template.py:71 cps/templates/user_table.html:126
msgid "Show category selection"
msgstr ""
#: cps/render_template.py:72 cps/templates/book_edit.html:84
-#: cps/templates/book_table.html:51 cps/templates/index.xml:90
-#: cps/templates/search_form.html:62 cps/web.py:887 cps/web.py:897
+#: cps/templates/book_table.html:52 cps/templates/index.xml:90
+#: cps/templates/search_form.html:62 cps/web.py:921 cps/web.py:931
msgid "Series"
msgstr ""
-#: cps/render_template.py:74 cps/templates/user_table.html:123
+#: cps/render_template.py:74 cps/templates/user_table.html:125
msgid "Show series selection"
msgstr ""
-#: cps/render_template.py:75 cps/templates/book_table.html:49
+#: cps/render_template.py:75 cps/templates/book_table.html:50
#: cps/templates/index.xml:69
msgid "Authors"
msgstr ""
-#: cps/render_template.py:77 cps/templates/user_table.html:126
+#: cps/render_template.py:77 cps/templates/user_table.html:128
msgid "Show author selection"
msgstr ""
-#: cps/render_template.py:79 cps/templates/book_table.html:55
-#: cps/templates/index.xml:76 cps/web.py:864
+#: cps/render_template.py:79 cps/templates/book_table.html:56
+#: cps/templates/index.xml:76 cps/web.py:898
msgid "Publishers"
msgstr ""
-#: cps/render_template.py:81 cps/templates/user_table.html:129
+#: cps/render_template.py:81 cps/templates/user_table.html:131
msgid "Show publisher selection"
msgstr ""
-#: cps/render_template.py:82 cps/templates/book_table.html:53
-#: cps/templates/index.xml:97 cps/templates/search_form.html:100 cps/web.py:967
+#: cps/render_template.py:82 cps/templates/book_table.html:54
+#: cps/templates/index.xml:97 cps/templates/search_form.html:100
+#: cps/web.py:1001
msgid "Languages"
msgstr ""
-#: cps/render_template.py:85 cps/templates/user_table.html:122
+#: cps/render_template.py:85 cps/templates/user_table.html:123
msgid "Show language selection"
msgstr ""
@@ -837,7 +862,7 @@ msgstr ""
msgid "Ratings"
msgstr ""
-#: cps/render_template.py:88 cps/templates/user_table.html:130
+#: cps/render_template.py:88 cps/templates/user_table.html:132
msgid "Show ratings selection"
msgstr ""
@@ -845,23 +870,23 @@ msgstr ""
msgid "File formats"
msgstr ""
-#: cps/render_template.py:91 cps/templates/user_table.html:131
+#: cps/render_template.py:91 cps/templates/user_table.html:133
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:676
+#: cps/render_template.py:93 cps/web.py:677
msgid "Archived Books"
msgstr ""
-#: cps/render_template.py:95 cps/templates/user_table.html:132
+#: cps/render_template.py:95 cps/templates/user_table.html:134
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:750
+#: cps/render_template.py:97 cps/web.py:751
msgid "Books List"
msgstr ""
-#: cps/render_template.py:99 cps/templates/user_table.html:134
+#: cps/render_template.py:99 cps/templates/user_table.html:136
msgid "Show Books List"
msgstr ""
@@ -989,190 +1014,190 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:433
+#: cps/templates/index.html:5 cps/web.py:434
msgid "Discover (Random Books)"
msgstr ""
-#: cps/web.py:459
+#: cps/web.py:460
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:492
+#: cps/web.py:493
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:507
+#: cps/web.py:508
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/web.py:521
+#: cps/web.py:522
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:536
+#: cps/web.py:537
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:549
+#: cps/web.py:550
#, python-format
msgid "Series: %(serie)s"
msgstr ""
-#: cps/web.py:562
+#: cps/web.py:563
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:575
+#: cps/web.py:576
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:591
+#: cps/web.py:592
#, python-format
msgid "Category: %(name)s"
msgstr ""
-#: cps/web.py:610
+#: cps/web.py:611
#, python-format
msgid "Language: %(name)s"
msgstr ""
-#: cps/web.py:640
+#: cps/web.py:641
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:710 cps/web.py:1280
+#: cps/templates/layout.html:56 cps/web.py:711 cps/web.py:1314
msgid "Advanced Search"
msgstr ""
#: cps/templates/book_edit.html:214 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:194
-#: cps/web.py:722 cps/web.py:1027
+#: cps/web.py:723 cps/web.py:1061
msgid "Search"
msgstr ""
-#: cps/templates/admin.html:16 cps/web.py:842
+#: cps/templates/admin.html:16 cps/web.py:876
msgid "Downloads"
msgstr ""
-#: cps/web.py:918
+#: cps/web.py:952
msgid "Ratings list"
msgstr ""
-#: cps/web.py:939
+#: cps/web.py:973
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1004
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1038
msgid "Tasks"
msgstr ""
-#: cps/web.py:1148
+#: cps/web.py:1182
msgid "Published after "
msgstr ""
-#: cps/web.py:1155
+#: cps/web.py:1189
msgid "Published before "
msgstr ""
-#: cps/web.py:1177
+#: cps/web.py:1211
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1179
+#: cps/web.py:1213
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1181
+#: cps/web.py:1215
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1353
+#: cps/web.py:1387
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1357
+#: cps/web.py:1391
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1359
+#: cps/web.py:1393
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1376
+#: cps/web.py:1410
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1377 cps/web.py:1384 cps/web.py:1390 cps/web.py:1409
-#: cps/web.py:1413 cps/web.py:1419
+#: cps/web.py:1411 cps/web.py:1418 cps/web.py:1424 cps/web.py:1443
+#: cps/web.py:1447 cps/web.py:1453
msgid "register"
msgstr ""
-#: cps/web.py:1411
+#: cps/web.py:1445
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1414
+#: cps/web.py:1448
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1431
+#: cps/web.py:1465
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1454
+#: cps/web.py:1488
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1458 cps/web.py:1482
+#: cps/web.py:1492 cps/web.py:1516
msgid "Wrong Username or Password"
msgstr ""
-#: cps/web.py:1465
+#: cps/web.py:1499
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1471
+#: cps/web.py:1505
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1477
+#: cps/web.py:1511
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1531 cps/web.py:1578
+#: cps/web.py:1565 cps/web.py:1612
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:1545
+#: cps/web.py:1579
msgid "Profile updated"
msgstr ""
-#: cps/web.py:1549
+#: cps/web.py:1583
msgid "Found an existing account for this e-mail address."
msgstr ""
-#: cps/web.py:1605 cps/web.py:1608 cps/web.py:1611 cps/web.py:1614
-#: cps/web.py:1621 cps/web.py:1626
+#: cps/web.py:1639 cps/web.py:1642 cps/web.py:1645 cps/web.py:1648
+#: cps/web.py:1655 cps/web.py:1660
msgid "Read a Book"
msgstr ""
@@ -1220,12 +1245,12 @@ msgstr ""
#: cps/templates/admin.html:13 cps/templates/login.html:8
#: cps/templates/login.html:9 cps/templates/register.html:8
-#: cps/templates/user_edit.html:9 cps/templates/user_table.html:104
+#: cps/templates/user_edit.html:9 cps/templates/user_table.html:105
msgid "Username"
msgstr ""
#: cps/templates/admin.html:14 cps/templates/register.html:13
-#: cps/templates/user_edit.html:14 cps/templates/user_table.html:105
+#: cps/templates/user_edit.html:14 cps/templates/user_table.html:106
msgid "E-mail Address"
msgstr ""
@@ -1234,7 +1259,7 @@ msgid "Send to Kindle E-mail Address"
msgstr ""
#: cps/templates/admin.html:17 cps/templates/layout.html:77
-#: cps/templates/user_table.html:113
+#: cps/templates/user_table.html:114
msgid "Admin"
msgstr ""
@@ -1244,13 +1269,13 @@ msgid "Password"
msgstr ""
#: cps/templates/admin.html:19 cps/templates/layout.html:66
-#: cps/templates/user_table.html:114
+#: cps/templates/user_table.html:116
msgid "Upload"
msgstr ""
#: cps/templates/admin.html:20 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
-#: cps/templates/user_table.html:115
+#: cps/templates/user_table.html:117
msgid "Download"
msgstr ""
@@ -1258,15 +1283,15 @@ msgstr ""
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:101
-#: cps/templates/user_table.html:116
+#: cps/templates/admin.html:22 cps/templates/user_table.html:102
+#: cps/templates/user_table.html:119
msgid "Edit"
msgstr ""
#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
-#: cps/templates/book_table.html:57 cps/templates/modal_dialogs.html:63
+#: cps/templates/book_table.html:58 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:66
-#: cps/templates/user_table.html:119
+#: cps/templates/user_table.html:120
msgid "Delete"
msgstr ""
@@ -1429,7 +1454,7 @@ msgid "OK"
msgstr ""
#: cps/templates/admin.html:209 cps/templates/admin.html:223
-#: cps/templates/book_edit.html:192 cps/templates/book_table.html:84
+#: cps/templates/book_edit.html:192 cps/templates/book_table.html:85
#: cps/templates/config_edit.html:427 cps/templates/config_view_edit.html:151
#: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99
#: cps/templates/modal_dialogs.html:117 cps/templates/modal_dialogs.html:135
@@ -1655,98 +1680,98 @@ msgstr ""
msgid "No Result(s) found! Please try another keyword."
msgstr ""
-#: cps/templates/book_table.html:10 cps/templates/book_table.html:52
-#: cps/templates/user_table.html:13 cps/templates/user_table.html:49
-#: cps/templates/user_table.html:72
+#: cps/templates/book_table.html:11 cps/templates/book_table.html:53
+#: cps/templates/user_table.html:13 cps/templates/user_table.html:51
+#: cps/templates/user_table.html:73
msgid "This Field is Required"
msgstr ""
-#: cps/templates/book_table.html:23
+#: cps/templates/book_table.html:24
msgid "Merge selected books"
msgstr ""
-#: cps/templates/book_table.html:24 cps/templates/user_table.html:94
+#: cps/templates/book_table.html:25 cps/templates/user_table.html:95
msgid "Remove Selections"
msgstr ""
-#: cps/templates/book_table.html:30
+#: cps/templates/book_table.html:31
msgid "Update Title Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:34
+#: cps/templates/book_table.html:35
msgid "Update Author Sort automatically"
msgstr ""
-#: cps/templates/book_table.html:46
+#: cps/templates/book_table.html:47
msgid "Enter Title"
msgstr ""
-#: cps/templates/book_table.html:46 cps/templates/config_view_edit.html:23
+#: cps/templates/book_table.html:47 cps/templates/config_view_edit.html:23
#: cps/templates/shelf_edit.html:7
msgid "Title"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Enter Title Sort"
msgstr ""
-#: cps/templates/book_table.html:47
+#: cps/templates/book_table.html:48
msgid "Title Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Enter Author Sort"
msgstr ""
-#: cps/templates/book_table.html:48
+#: cps/templates/book_table.html:49
msgid "Author Sort"
msgstr ""
-#: cps/templates/book_table.html:49
+#: cps/templates/book_table.html:50
msgid "Enter Authors"
msgstr ""
-#: cps/templates/book_table.html:50
+#: cps/templates/book_table.html:51
msgid "Enter Categories"
msgstr ""
-#: cps/templates/book_table.html:51
+#: cps/templates/book_table.html:52
msgid "Enter Series"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Enter title"
msgstr ""
-#: cps/templates/book_table.html:52
+#: cps/templates/book_table.html:53
msgid "Series Index"
msgstr ""
-#: cps/templates/book_table.html:53
+#: cps/templates/book_table.html:54
msgid "Enter Languages"
msgstr ""
-#: cps/templates/book_table.html:54
+#: cps/templates/book_table.html:55
msgid "Publishing Date"
msgstr ""
-#: cps/templates/book_table.html:55
+#: cps/templates/book_table.html:56
msgid "Enter Publishers"
msgstr ""
-#: cps/templates/book_table.html:70 cps/templates/modal_dialogs.html:46
+#: cps/templates/book_table.html:71 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
msgstr ""
-#: cps/templates/book_table.html:74
+#: cps/templates/book_table.html:75
msgid "Books with Title will be merged from:"
msgstr ""
-#: cps/templates/book_table.html:78
+#: cps/templates/book_table.html:79
msgid "Into Book with Title:"
msgstr ""
-#: cps/templates/book_table.html:83
+#: cps/templates/book_table.html:84
msgid "Merge"
msgstr ""
@@ -2144,7 +2169,7 @@ msgid "Default Visibilities for New Users"
msgstr ""
#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
-#: cps/templates/user_table.html:121
+#: cps/templates/user_table.html:122
msgid "Show Random Books in Detail View"
msgstr ""
@@ -2227,7 +2252,7 @@ msgid "Use Standard E-Mail Account"
msgstr ""
#: cps/templates/email_edit.html:15
-msgid "G-Mail Account with OAuth2 Verfification"
+msgid "Gmail Account with OAuth2 Verfification"
msgstr ""
#: cps/templates/email_edit.html:21
@@ -2235,7 +2260,7 @@ msgid "Setup Gmail Account as E-Mail Server"
msgstr ""
#: cps/templates/email_edit.html:23
-msgid "Revoke G-Mail Access"
+msgid "Revoke Gmail Access"
msgstr ""
#: cps/templates/email_edit.html:41
@@ -2259,7 +2284,7 @@ msgid "Save and Send Test E-mail"
msgstr ""
#: cps/templates/email_edit.html:69 cps/templates/layout.html:29
-#: cps/templates/shelf_order.html:41
+#: cps/templates/shelf_order.html:41 cps/templates/user_table.html:142
msgid "Back"
msgstr ""
@@ -2887,7 +2912,7 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:135 cps/templates/user_table.html:135
+#: cps/templates/user_edit.html:135 cps/templates/user_table.html:137
msgid "Delete User"
msgstr ""
@@ -2895,79 +2920,83 @@ msgstr ""
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_table.html:75
+#: cps/templates/user_table.html:76
msgid "Select..."
msgstr ""
-#: cps/templates/user_table.html:101
+#: cps/templates/user_table.html:102
msgid "Edit User"
msgstr ""
-#: cps/templates/user_table.html:104
+#: cps/templates/user_table.html:105
msgid "Enter Username"
msgstr ""
-#: cps/templates/user_table.html:105
+#: cps/templates/user_table.html:106
msgid "Enter E-mail Address"
msgstr ""
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
msgid "Enter Kindle E-mail Address"
msgstr ""
-#: cps/templates/user_table.html:106
+#: cps/templates/user_table.html:107
msgid "Kindle E-mail"
msgstr ""
-#: cps/templates/user_table.html:107
+#: cps/templates/user_table.html:108
msgid "Locale"
msgstr ""
-#: cps/templates/user_table.html:108
+#: cps/templates/user_table.html:109
msgid "Visible Book Languages"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Edit Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:109
+#: cps/templates/user_table.html:110
msgid "Denied Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Edit Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:110
+#: cps/templates/user_table.html:111
msgid "Allowed Tags"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Edit Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:111
+#: cps/templates/user_table.html:112
msgid "Allowed Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Edit Denied Column Values"
msgstr ""
-#: cps/templates/user_table.html:112
+#: cps/templates/user_table.html:113
msgid "Denied Columns Values"
msgstr ""
-#: cps/templates/user_table.html:117
+#: cps/templates/user_table.html:115
msgid "Change Password"
msgstr ""
#: cps/templates/user_table.html:118
-msgid "Edit Public Shelfs"
-msgstr ""
-
-#: cps/templates/user_table.html:120
msgid "View"
msgstr ""
+#: cps/templates/user_table.html:121
+msgid "Edit Public Shelfs"
+msgstr ""
+
+#: cps/templates/user_table.html:124
+msgid "Show read/unread selection"
+msgstr ""
+