mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-24 18:47:23 +00:00
Merge branch 'master' into Develop
# Conflicts: # cps/shelf.py
This commit is contained in:
commit
50ba2e329a
@ -30,7 +30,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
|
||||
|
||||
## Quick start
|
||||
|
||||
1. Install dependencies by running `pip3 install --target vendor -r requirements.txt`.
|
||||
1. Install dependencies by running `pip3 install --target vendor -r requirements.txt` (python3.x) or `pip install --target vendor -r requirements.txt` (python2.7).
|
||||
2. Execute the command: `python cps.py` (or `nohup python cps.py` - recommended if you want to exit the terminal window)
|
||||
3. Point your browser to `http://localhost:8083` or `http://localhost:8083/opds` for the OPDS catalog
|
||||
4. Set `Location of Calibre database` to the path of the folder where your Calibre library (metadata.db) lives, push "submit" button\
|
||||
|
@ -50,7 +50,7 @@ def oauth_required(f):
|
||||
def inner(*args, **kwargs):
|
||||
if config.config_login_type == constants.LOGIN_OAUTH:
|
||||
return f(*args, **kwargs)
|
||||
if request.is_xhr:
|
||||
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
|
||||
data = {'status': 'error', 'message': 'Not Found'}
|
||||
response = make_response(json.dumps(data, ensure_ascii=False))
|
||||
response.headers["Content-Type"] = "application/json; charset=utf-8"
|
||||
|
@ -146,7 +146,7 @@ class WebServer(object):
|
||||
self.unix_socket_file = None
|
||||
|
||||
def _start_tornado(self):
|
||||
if os.name == 'nt':
|
||||
if os.name == 'nt' and sys.version_info > (3, 7):
|
||||
import asyncio
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
log.info('Starting Tornado server on %s', _readable_listen_address(self.listen_address, self.listen_port))
|
||||
|
40
cps/shelf.py
40
cps/shelf.py
@ -40,17 +40,18 @@ log = logger.create()
|
||||
@shelf.route("/shelf/add/<int:shelf_id>/<int:book_id>")
|
||||
@login_required
|
||||
def add_to_shelf(shelf_id, book_id):
|
||||
xhr = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
|
||||
shelf = ub.session.query(ub.Shelf).filter(ub.Shelf.id == shelf_id).first()
|
||||
if shelf is None:
|
||||
log.error("Invalid shelf specified: %s", shelf_id)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Invalid shelf specified"), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "Invalid shelf specified", 400
|
||||
|
||||
if not shelf.is_public and not shelf.user_id == int(current_user.id):
|
||||
log.error("User %s not allowed to add a book to %s", current_user, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Sorry you are not allowed to add a book to the the shelf: %(shelfname)s", shelfname=shelf.name),
|
||||
category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
@ -58,7 +59,7 @@ def add_to_shelf(shelf_id, book_id):
|
||||
|
||||
if shelf.is_public and not current_user.role_edit_shelfs():
|
||||
log.info("User %s not allowed to edit public shelves", current_user)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"You are not allowed to edit public shelves"), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "User is not allowed to edit public shelves", 403
|
||||
@ -67,7 +68,7 @@ def add_to_shelf(shelf_id, book_id):
|
||||
ub.BookShelf.book_id == book_id).first()
|
||||
if book_in_shelf:
|
||||
log.error("Book %s is already part of %s", book_id, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book is already part of the shelf: %(shelfname)s", shelfname=shelf.name), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "Book is already part of the shelf: %s" % shelf.name, 400
|
||||
@ -81,7 +82,7 @@ def add_to_shelf(shelf_id, book_id):
|
||||
ins = ub.BookShelf(shelf=shelf.id, book_id=book_id, order=maxOrder + 1)
|
||||
ub.session.add(ins)
|
||||
ub.session.commit()
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book has been added to shelf: %(sname)s", sname=shelf.name), category="success")
|
||||
if "HTTP_REFERER" in request.environ:
|
||||
return redirect(request.environ["HTTP_REFERER"])
|
||||
@ -147,10 +148,11 @@ def search_to_shelf(shelf_id):
|
||||
@shelf.route("/shelf/remove/<int:shelf_id>/<int:book_id>")
|
||||
@login_required
|
||||
def remove_from_shelf(shelf_id, book_id):
|
||||
xhr = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
|
||||
shelf = ub.session.query(ub.Shelf).filter(ub.Shelf.id == shelf_id).first()
|
||||
if shelf is None:
|
||||
log.error("Invalid shelf specified: %s", shelf_id)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
return redirect(url_for('web.index'))
|
||||
return "Invalid shelf specified", 400
|
||||
|
||||
@ -169,20 +171,20 @@ def remove_from_shelf(shelf_id, book_id):
|
||||
|
||||
if book_shelf is None:
|
||||
log.error("Book %s already removed from %s", book_id, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
return redirect(url_for('web.index'))
|
||||
return "Book already removed from shelf", 410
|
||||
|
||||
ub.session.delete(book_shelf)
|
||||
ub.session.commit()
|
||||
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book has been removed from shelf: %(sname)s", sname=shelf.name), category="success")
|
||||
return redirect(request.environ["HTTP_REFERER"])
|
||||
return "", 204
|
||||
else:
|
||||
log.error("User %s not allowed to remove a book from %s", current_user, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Sorry you are not allowed to remove a book from this shelf: %(sname)s", sname=shelf.name),
|
||||
category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
@ -284,8 +286,14 @@ def show_shelf(shelf_type, shelf_id):
|
||||
|
||||
books_in_shelf = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id)\
|
||||
.order_by(ub.BookShelf.order.asc()).all()
|
||||
books_list = [ b.book_id for b in books_in_shelf]
|
||||
result = db.session.query(db.Books).filter(db.Books.id.in_(books_list)).filter(common_filters()).all()
|
||||
for book in books_in_shelf:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).filter(common_filters()).first()
|
||||
if cur_book:
|
||||
result.append(cur_book)
|
||||
else:
|
||||
log.info('Not existing book %s in %s deleted', book.book_id, shelf)
|
||||
ub.session.query(ub.BookShelf).filter(ub.BookShelf.book_id == book.book_id).delete()
|
||||
ub.session.commit()
|
||||
return render_title_template(page, entries=result, title=_(u"Shelf: '%(name)s'", name=shelf.name),
|
||||
shelf=shelf, page="shelf")
|
||||
else:
|
||||
@ -315,11 +323,13 @@ def order_shelf(shelf_id):
|
||||
ub.Shelf.id == shelf_id))).first()
|
||||
result = list()
|
||||
if shelf:
|
||||
books_in_shelf = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id) \
|
||||
books_in_shelf2 = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id) \
|
||||
.order_by(ub.BookShelf.order.asc()).all()
|
||||
books_list = [ b.book_id for b in books_in_shelf]
|
||||
# cover, title, series, name, all author names,
|
||||
result = db.session.query(db.Books).filter(db.Books.id.in_(books_list)).filter(common_filters()).all()
|
||||
for book in books_in_shelf2:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).filter(common_filters()).first()
|
||||
result.append(cur_book)
|
||||
#books_list = [ b.book_id for b in books_in_shelf2]
|
||||
#result = db.session.query(db.Books).filter(db.Books.id.in_(books_list)).filter(common_filters()).all()
|
||||
return render_title_template('shelf_order.html', entries=result,
|
||||
title=_(u"Change order of Shelf: '%(name)s'", name=shelf.name),
|
||||
shelf=shelf, page="shelforder")
|
||||
|
@ -19,7 +19,7 @@
|
||||
* Google Books api document: https://developers.google.com/books/docs/v1/using
|
||||
* Douban Books api document: https://developers.douban.com/wiki/?title=book_v2 (Chinese Only)
|
||||
*/
|
||||
/* global _, i18nMsg, tinymce */
|
||||
/* global _, i18nMsg, tinymce */
|
||||
var dbResults = [];
|
||||
var ggResults = [];
|
||||
|
||||
@ -55,9 +55,9 @@ $(function () {
|
||||
$(".cover img").attr("src", book.cover);
|
||||
$("#cover_url").val(book.cover);
|
||||
$("#pubdate").val(book.publishedDate);
|
||||
$("#publisher").val(book.publisher)
|
||||
if (book.series != undefined) {
|
||||
$("#series").val(book.series)
|
||||
$("#publisher").val(book.publisher);
|
||||
if (typeof book.series !== "undefined") {
|
||||
$("#series").val(book.series);
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,16 +72,18 @@ $(function () {
|
||||
}
|
||||
function formatDate (date) {
|
||||
var d = new Date(date),
|
||||
month = '' + (d.getMonth() + 1),
|
||||
day = '' + d.getDate(),
|
||||
month = "" + (d.getMonth() + 1),
|
||||
day = "" + d.getDate(),
|
||||
year = d.getFullYear();
|
||||
|
||||
if (month.length < 2)
|
||||
month = '0' + month;
|
||||
if (day.length < 2)
|
||||
day = '0' + day;
|
||||
|
||||
return [year, month, day].join('-');
|
||||
|
||||
if (month.length < 2) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (day.length < 2) {
|
||||
day = "0" + day;
|
||||
}
|
||||
|
||||
return [year, month, day].join("-");
|
||||
}
|
||||
|
||||
if (ggDone && ggResults.length > 0) {
|
||||
@ -116,16 +118,17 @@ $(function () {
|
||||
}
|
||||
if (dbDone && dbResults.length > 0) {
|
||||
dbResults.forEach(function(result) {
|
||||
if (result.series){
|
||||
var series_title = result.series.title
|
||||
var seriesTitle = "";
|
||||
if (result.series) {
|
||||
seriesTitle = result.series.title;
|
||||
}
|
||||
var date_fomers = result.pubdate.split("-")
|
||||
var publishedYear = parseInt(date_fomers[0])
|
||||
var publishedMonth = parseInt(date_fomers[1])
|
||||
var publishedDate = new Date(publishedYear, publishedMonth-1, 1)
|
||||
var dateFomers = result.pubdate.split("-");
|
||||
var publishedYear = parseInt(dateFomers[0]);
|
||||
var publishedMonth = parseInt(dateFomers[1]);
|
||||
var publishedDate = new Date(publishedYear, publishedMonth - 1, 1);
|
||||
|
||||
publishedDate = formatDate(publishedDate);
|
||||
|
||||
publishedDate = formatDate(publishedDate)
|
||||
|
||||
var book = {
|
||||
id: result.id,
|
||||
title: result.title,
|
||||
@ -137,7 +140,7 @@ $(function () {
|
||||
return tag.title.toLowerCase().replace(/,/g, "_");
|
||||
}),
|
||||
rating: result.rating.average || 0,
|
||||
series: series_title || "",
|
||||
series: seriesTitle || "",
|
||||
cover: result.image,
|
||||
url: "https://book.douban.com/subject/" + result.id,
|
||||
source: {
|
||||
@ -183,7 +186,7 @@ $(function () {
|
||||
}
|
||||
|
||||
function dbSearchBook (title) {
|
||||
apikey="0df993c66c0c636e29ecbb5344252a4a"
|
||||
var apikey = "0df993c66c0c636e29ecbb5344252a4a";
|
||||
$.ajax({
|
||||
url: douban + dbSearch + "?apikey=" + apikey + "&q=" + title + "&fields=all&count=10",
|
||||
type: "GET",
|
||||
@ -193,7 +196,7 @@ $(function () {
|
||||
dbResults = data.books;
|
||||
},
|
||||
error: function error() {
|
||||
$("#meta-info").html("<p class=\"text-danger\">" + msg.search_error + "!</p>"+ $("#meta-info")[0].innerHTML)
|
||||
$("#meta-info").html("<p class=\"text-danger\">" + msg.search_error + "!</p>" + $("#meta-info")[0].innerHTML);
|
||||
},
|
||||
complete: function complete() {
|
||||
dbDone = true;
|
||||
|
4
cps/static/js/libs/Sortable.min.js
vendored
4
cps/static/js/libs/Sortable.min.js
vendored
File diff suppressed because one or more lines are too long
@ -29,7 +29,7 @@ function sendData(path) {
|
||||
var maxElements;
|
||||
var tmp = [];
|
||||
|
||||
elements = Sortable.utils.find(sortTrue, "div");
|
||||
elements = $(".list-group-item");
|
||||
maxElements = elements.length;
|
||||
|
||||
var form = document.createElement("form");
|
||||
|
@ -29,7 +29,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
<button onclick="sendData('{{ url_for('shelf.order_shelf', shelf_id=shelf.id) }}')" class="btn btn-default" id="ChangeOrder">{{_('Change order')}}</button>
|
||||
<a href="{{ url_for('shelf.show_shelf', shelf_id=shelf.id) }}" class="btn btn-default">{{_('Back')}}</a>
|
||||
<a href="{{ url_for('shelf.show_shelf', shelf_id=shelf.id) }}" id="shelf_back" class="btn btn-default">{{_('Back')}}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-08 11:37+0000\n"
|
||||
"Last-Translator: Lukas Heroudek <lukas.heroudek@gmail.com>\n"
|
||||
"Language: cs_CZ\n"
|
||||
@ -79,7 +79,7 @@ msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdí
|
||||
#: cps/admin.py:489
|
||||
#, python-format
|
||||
msgid "User '%(user)s' created"
|
||||
msgstr "Uživatel ‘%(user)s’ vytvořen"
|
||||
msgstr "Uživatel '%(user)s' vytvořen"
|
||||
|
||||
#: cps/admin.py:509
|
||||
msgid "Edit e-mail server settings"
|
||||
@ -205,7 +205,7 @@ msgstr "není nakonfigurováno"
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:396
|
||||
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ý"
|
||||
msgstr "Chyba otevírání eknihy. Soubor neexistuje nebo není přístupný"
|
||||
|
||||
#: cps/editbooks.py:242
|
||||
msgid "edit metadata"
|
||||
@ -214,11 +214,11 @@ msgstr "upravit metadata"
|
||||
#: cps/editbooks.py:321 cps/editbooks.py:569
|
||||
#, 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"
|
||||
msgstr "Soubor s příponou '%(ext)s' nelze odeslat na tento server"
|
||||
|
||||
#: cps/editbooks.py:325 cps/editbooks.py:573
|
||||
msgid "File to be uploaded must have an extension"
|
||||
msgstr "Soubor, který má být odeslán, musí mít příponu"
|
||||
msgstr "Soubor, který má být odeslán musí mít příponu"
|
||||
|
||||
#: cps/editbooks.py:337 cps/editbooks.py:607
|
||||
#, python-format
|
||||
@ -296,7 +296,7 @@ msgstr "Při převodu této knihy došlo k chybě: %(res)s"
|
||||
|
||||
#: cps/gdrive.py:62
|
||||
msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again"
|
||||
msgstr "Google Drive nastavení nebylo dokončeno, zkuste znovu deaktivovat a aktivovat Google Drive"
|
||||
msgstr "Google Drive nastavení nebylo dokončeno, zkuste znovu deaktivovat a aktivovat Google Drive"
|
||||
|
||||
#: cps/gdrive.py:104
|
||||
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
|
||||
@ -366,17 +366,17 @@ msgstr "Požadovaný soubor nelze přečíst. Možná nesprávná oprávnění?"
|
||||
#: cps/helper.py:322
|
||||
#, python-format
|
||||
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenování názvu z: ‘%(src)s‘ na ‘%(dest)s' selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:332
|
||||
#, python-format
|
||||
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenovat autora z: ‘%(src)s‘ na ‘%(dest)s’ selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenovat autora z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:346
|
||||
#, python-format
|
||||
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenování souboru v cestě ‘%(src)s‘ na ‘%(dest)s‘ selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenování souboru v cestě '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:372 cps/helper.py:382 cps/helper.py:390
|
||||
#, python-format
|
||||
@ -528,7 +528,7 @@ msgstr "Lituji, nejste oprávněni odebrat knihu z této police: %(sname)s"
|
||||
#: cps/shelf.py:207 cps/shelf.py:231
|
||||
#, python-format
|
||||
msgid "A shelf with the name '%(title)s' already exists."
|
||||
msgstr "Police s názvem ‘%(title)s’ již existuje."
|
||||
msgstr "Police s názvem '%(title)s' již existuje."
|
||||
|
||||
#: cps/shelf.py:212
|
||||
#, python-format
|
||||
@ -555,7 +555,7 @@ msgstr "Upravit polici"
|
||||
#: cps/shelf.py:289
|
||||
#, python-format
|
||||
msgid "Shelf: '%(name)s'"
|
||||
msgstr "Police: ’%(name)s’"
|
||||
msgstr "Police: '%(name)s'"
|
||||
|
||||
#: cps/shelf.py:292
|
||||
msgid "Error opening shelf. Shelf does not exist or is not accessible"
|
||||
@ -564,7 +564,7 @@ msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná"
|
||||
#: cps/shelf.py:323
|
||||
#, python-format
|
||||
msgid "Change order of Shelf: '%(name)s'"
|
||||
msgstr "Změnit pořadí Police: ‘%(name)s’"
|
||||
msgstr "Změnit pořadí Police: '%(name)s'"
|
||||
|
||||
#: cps/ub.py:57
|
||||
msgid "Recently Added"
|
||||
@ -858,7 +858,7 @@ msgstr "Nelze aktivovat ověření LDAP"
|
||||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "nyní jste přihlášeni jako: ‘%(nickname)s’"
|
||||
msgstr "nyní jste přihlášeni jako: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1156
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
@ -1153,7 +1153,7 @@ msgstr "Převést formát knihy:"
|
||||
|
||||
#: cps/templates/book_edit.html:30
|
||||
msgid "Convert from:"
|
||||
msgstr "Převest z:"
|
||||
msgstr "Převést z:"
|
||||
|
||||
#: cps/templates/book_edit.html:32 cps/templates/book_edit.html:39
|
||||
msgid "select an option"
|
||||
@ -1165,7 +1165,7 @@ msgstr "Převést do:"
|
||||
|
||||
#: cps/templates/book_edit.html:46
|
||||
msgid "Convert book"
|
||||
msgstr "Převest knihu"
|
||||
msgstr "Převést knihu"
|
||||
|
||||
#: cps/templates/book_edit.html:55 cps/templates/search_form.html:6
|
||||
msgid "Book Title"
|
||||
@ -1341,7 +1341,7 @@ msgstr "Server port"
|
||||
|
||||
#: cps/templates/config_edit.html:91
|
||||
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
|
||||
msgstr "Umístění certifikátu SSL (ponechejte prázdné u serverů jiných než SSL)"
|
||||
msgstr "Umístění certifikátu SSL (ponechte prázdné pro servery jiné než SSL)"
|
||||
|
||||
#: cps/templates/config_edit.html:95
|
||||
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
|
||||
@ -1405,7 +1405,7 @@ msgstr "Povolit veřejnou registraci"
|
||||
|
||||
#: cps/templates/config_edit.html:170
|
||||
msgid "Enable remote login (\"magic link\")"
|
||||
msgstr "Povolit vzdálené přihlášení (\\“magic link\\”)"
|
||||
msgstr "Povolit vzdálené přihlášení (\\\"magic link\\\")"
|
||||
|
||||
#: cps/templates/config_edit.html:175
|
||||
msgid "Use Goodreads"
|
||||
@ -1495,12 +1495,12 @@ msgstr "Obtain %(provider)s OAuth Credential"
|
||||
#: cps/templates/config_edit.html:263
|
||||
#, python-format
|
||||
msgid "%(provider)s OAuth Client Id"
|
||||
msgstr "%(provider)s OAuth Client Id"
|
||||
msgstr "%(provider)s OAuth Klient Id"
|
||||
|
||||
#: cps/templates/config_edit.html:267
|
||||
#, python-format
|
||||
msgid "%(provider)s OAuth Client Secret"
|
||||
msgstr "%(provider)s OAuth Client Secret"
|
||||
msgstr "%(provider)s OAuth Klient Tajemství"
|
||||
|
||||
#: cps/templates/config_edit.html:276
|
||||
msgid "Allow Reverse Proxy Authentication"
|
||||
@ -1532,7 +1532,7 @@ msgstr "Nastavení převaděče eknih"
|
||||
|
||||
#: cps/templates/config_edit.html:312
|
||||
msgid "Path to convertertool"
|
||||
msgstr "Cesta k převáděči"
|
||||
msgstr "Cesta k převaděči"
|
||||
|
||||
#: cps/templates/config_edit.html:318
|
||||
msgid "Location of Unrar binary"
|
||||
@ -1577,7 +1577,7 @@ msgstr "Regulární výraz pro ignorování sloupců"
|
||||
|
||||
#: cps/templates/config_view_edit.html:46
|
||||
msgid "Link read/unread status to Calibre column"
|
||||
msgstr "Propojit stav čtení/nepřečtení do sloupce Calibre"
|
||||
msgstr "Propojit stav čtení/nepřečtení do sloupce Calibre"
|
||||
|
||||
#: cps/templates/config_view_edit.html:55
|
||||
msgid "Regular expression for title sorting"
|
||||
@ -1625,7 +1625,7 @@ msgstr "Povolit úpravy veřejných polic"
|
||||
|
||||
#: cps/templates/config_view_edit.html:119
|
||||
msgid "Default visibilities for new users"
|
||||
msgstr "Výchozí viditelnosti pro nové uživatele"
|
||||
msgstr "Výchozí zobrazení pro nové uživatele"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
@ -2337,7 +2337,7 @@ msgstr "Nedávná stahování"
|
||||
#~ msgstr "Prohlížeč PDF.js"
|
||||
|
||||
#~ msgid "Preparing document for printing..."
|
||||
#~ msgstr "Příprava dokumentu pro tisk …"
|
||||
#~ msgstr "Příprava dokumentu pro tisk..."
|
||||
|
||||
#~ msgid "Using your another device, visit"
|
||||
#~ msgstr "Pomocí jiného zařízení navštivte"
|
||||
@ -3315,7 +3315,7 @@ msgstr "Nedávná stahování"
|
||||
#~ msgstr "Selkup"
|
||||
|
||||
#~ msgid "Irish; Old (to 900)"
|
||||
#~ msgstr "Irlandese antico (fino al ’900)"
|
||||
#~ msgstr "Irlandese antico (fino al 900)"
|
||||
|
||||
#~ msgid "Shan"
|
||||
#~ msgstr "Shan"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-18 12:52+0100\n"
|
||||
"Last-Translator: Ozzie Isaacs\n"
|
||||
"Language: de\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-07-26 11:44+0100\n"
|
||||
"Last-Translator: minakmostoles <xxx@xxx.com>\n"
|
||||
"Language: es\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
|
||||
"Last-Translator: Samuli Valavuo <svalavuo@gmail.com>\n"
|
||||
"Language: fi\n"
|
||||
|
Binary file not shown.
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-08-21 15:20+0100\n"
|
||||
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
|
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: hu\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
|
||||
"Last-Translator: ElQuimm <quimm@webtaste.com>\n"
|
||||
"Language: it\n"
|
||||
@ -165,7 +165,7 @@ msgstr "Decomprimo il pacchetto di aggiornamento"
|
||||
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Sostituzione files"
|
||||
msgstr "Sostituisco i file"
|
||||
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
@ -177,7 +177,7 @@ msgstr "Arresta il server"
|
||||
|
||||
#: cps/admin.py:720
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Aggiornamento completato, prego premere ok e ricaricare la pagina"
|
||||
msgstr "Aggiornamento completato, prego premi ok e ricarica la pagina"
|
||||
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
@ -268,7 +268,7 @@ msgstr "Probabilmnete il libro caricato esiste già nella libreria; considera di
|
||||
#: cps/editbooks.py:613
|
||||
#, python-format
|
||||
msgid "Failed to store file %(file)s (Permission denied)."
|
||||
msgstr "Impossibile salvare il file %(file)s (autorizzazione negata)"
|
||||
msgstr "Impossibile salvare il file %(file)s (autorizzazione negata)."
|
||||
|
||||
#: cps/editbooks.py:619
|
||||
#, python-format
|
||||
@ -305,7 +305,7 @@ msgstr "Callback domain non è stato verificato. Per favore intraprendi il neces
|
||||
#: cps/helper.py:80
|
||||
#, python-format
|
||||
msgid "%(format)s format not found for book id: %(book)d"
|
||||
msgstr "%(format)s formato non trovato per il libro: %(book)d"
|
||||
msgstr "Formato %(format)s non trovato per il libro: %(book)d"
|
||||
|
||||
#: cps/helper.py:92
|
||||
#, python-format
|
||||
@ -341,7 +341,7 @@ msgstr "Inizia con Calibre-Web"
|
||||
#: cps/helper.py:135
|
||||
#, python-format
|
||||
msgid "Registration e-mail for user: %(name)s"
|
||||
msgstr "E-mail di registrazione per l'utente: %(name)s"
|
||||
msgstr "E-mail di registrazione dell'utente: %(name)s"
|
||||
|
||||
#: cps/helper.py:149 cps/helper.py:151 cps/helper.py:153 cps/helper.py:161
|
||||
#: cps/helper.py:163 cps/helper.py:165
|
||||
@ -386,15 +386,15 @@ msgstr "File %(file)s non trovato su Google Drive"
|
||||
#: cps/helper.py:411
|
||||
#, python-format
|
||||
msgid "Book path %(path)s not found on Google Drive"
|
||||
msgstr "Non ho trovato la cartella %(path)s su Google Drive"
|
||||
msgstr "Non ho trovato la cartella %(path)s del libro su Google Drive"
|
||||
|
||||
#: cps/helper.py:643
|
||||
msgid "Waiting"
|
||||
msgstr "Attendere"
|
||||
msgstr "Attendi"
|
||||
|
||||
#: cps/helper.py:645
|
||||
msgid "Failed"
|
||||
msgstr "Fallito"
|
||||
msgstr "Non riuscito"
|
||||
|
||||
#: cps/helper.py:647
|
||||
msgid "Started"
|
||||
@ -431,19 +431,19 @@ msgstr "Registra con %(provider)s"
|
||||
|
||||
#: cps/oauth_bb.py:155
|
||||
msgid "Failed to log in with GitHub."
|
||||
msgstr "Fallito l'accesso con GitHub."
|
||||
msgstr "Accesso con GitHub non riuscito."
|
||||
|
||||
#: cps/oauth_bb.py:160
|
||||
msgid "Failed to fetch user info from GitHub."
|
||||
msgstr "Fallito il recupero delle informazioni dell'utente da GitHub."
|
||||
msgstr "Il recupero delle informazioni dell'utente da GitHub non è riuscito."
|
||||
|
||||
#: cps/oauth_bb.py:171
|
||||
msgid "Failed to log in with Google."
|
||||
msgstr "Fallito l'accesso con Google."
|
||||
msgstr "Accesso con Google non riuscito."
|
||||
|
||||
#: cps/oauth_bb.py:176
|
||||
msgid "Failed to fetch user info from Google."
|
||||
msgstr "Fallito il recupero delle informazioni da Google."
|
||||
msgstr "Il recupero delle informazioni dell'utente da Google non è riuscito."
|
||||
|
||||
#: cps/oauth_bb.py:274
|
||||
#, python-format
|
||||
@ -453,7 +453,7 @@ msgstr "Scollegato da %(oauth)s con successo."
|
||||
#: cps/oauth_bb.py:278
|
||||
#, python-format
|
||||
msgid "Unlink to %(oauth)s failed."
|
||||
msgstr "Scollegamento da %(oauth)s fallito.\""
|
||||
msgstr "Scollegamento da %(oauth)s fallito."
|
||||
|
||||
#: cps/oauth_bb.py:281
|
||||
#, python-format
|
||||
@ -462,11 +462,11 @@ msgstr "Non collegato a %(oauth)s."
|
||||
|
||||
#: cps/oauth_bb.py:309
|
||||
msgid "GitHub Oauth error, please retry later."
|
||||
msgstr "GitHub Oauth error, per favore riprova più tardi."
|
||||
msgstr "GitHub errore Oauth, per favore riprova più tardi."
|
||||
|
||||
#: cps/oauth_bb.py:328
|
||||
msgid "Google Oauth error, please retry later."
|
||||
msgstr "Google Oauth error, per favore riprova più tardi."
|
||||
msgstr "Google errore Oauth, per favore riprova più tardi."
|
||||
|
||||
#: cps/shelf.py:47 cps/shelf.py:99
|
||||
msgid "Invalid shelf specified"
|
||||
@ -572,7 +572,7 @@ msgstr "Aggiunto recentemente"
|
||||
|
||||
#: cps/ub.py:59
|
||||
msgid "Show recent books"
|
||||
msgstr "Mostra i libri recenti"
|
||||
msgstr "Mostra i libri più recenti"
|
||||
|
||||
#: cps/templates/index.xml:17 cps/ub.py:60
|
||||
msgid "Hot Books"
|
||||
@ -614,7 +614,7 @@ msgstr "Per scoprire"
|
||||
|
||||
#: cps/ub.py:76
|
||||
msgid "Show random books"
|
||||
msgstr "Mostra libro a caso"
|
||||
msgstr "Mostra libri a caso"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/ub.py:77
|
||||
msgid "Categories"
|
||||
@ -667,11 +667,11 @@ msgstr "Mostra la selezione della valutazione"
|
||||
|
||||
#: cps/templates/index.xml:96 cps/ub.py:97
|
||||
msgid "File formats"
|
||||
msgstr "Formati dei file"
|
||||
msgstr "Formato file"
|
||||
|
||||
#: cps/ub.py:99
|
||||
msgid "Show file formats selection"
|
||||
msgstr "Mostra la selezione dei formati dei file"
|
||||
msgstr "Mostra la selezione del formato dei file"
|
||||
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
@ -708,11 +708,11 @@ msgstr "Libri aggiunti di recente"
|
||||
|
||||
#: cps/web.py:514
|
||||
msgid "Best rated books"
|
||||
msgstr "I libri con le migliori valutazioni"
|
||||
msgstr "Libri con le migliori valutazioni"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:522
|
||||
msgid "Random Books"
|
||||
msgstr "Libri a caso"
|
||||
msgstr "Libri casuali"
|
||||
|
||||
#: cps/web.py:548
|
||||
msgid "Books"
|
||||
@ -763,19 +763,19 @@ msgstr "Lingua: %(name)s"
|
||||
|
||||
#: cps/web.py:705
|
||||
msgid "Publisher list"
|
||||
msgstr "Lista degli editori"
|
||||
msgstr "Elenco degli editori"
|
||||
|
||||
#: cps/web.py:721
|
||||
msgid "Series list"
|
||||
msgstr "Lista delle serie"
|
||||
msgstr "Elenco delle serie"
|
||||
|
||||
#: cps/web.py:735
|
||||
msgid "Ratings list"
|
||||
msgstr "Lista delle valutazioni"
|
||||
msgstr "Elenco delle valutazioni"
|
||||
|
||||
#: cps/web.py:748
|
||||
msgid "File formats list"
|
||||
msgstr "Lista dei formati di file"
|
||||
msgstr "Elenco dei formati"
|
||||
|
||||
#: cps/web.py:776
|
||||
msgid "Available languages"
|
||||
@ -783,7 +783,7 @@ msgstr "Lingue disponibili"
|
||||
|
||||
#: cps/web.py:793
|
||||
msgid "Category list"
|
||||
msgstr "Elenco categorie"
|
||||
msgstr "Elenco delle categorie"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:807
|
||||
msgid "Tasks"
|
||||
@ -895,7 +895,7 @@ msgstr "Il token è scaduto"
|
||||
|
||||
#: cps/web.py:1240
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Successo! Torna al tuo dispositivo"
|
||||
msgstr "Riuscito! Torna al tuo dispositivo"
|
||||
|
||||
#: cps/web.py:1317 cps/web.py:1360 cps/web.py:1366
|
||||
#, python-format
|
||||
@ -1045,7 +1045,7 @@ msgstr "Amministrazione"
|
||||
|
||||
#: cps/templates/admin.html:122
|
||||
msgid "View Logfiles"
|
||||
msgstr "Visualizza LogFiles"
|
||||
msgstr "Visualizza LogFile"
|
||||
|
||||
#: cps/templates/admin.html:123
|
||||
msgid "Reconnect to Calibre DB"
|
||||
@ -1217,7 +1217,7 @@ msgstr "Lingua"
|
||||
|
||||
#: cps/templates/book_edit.html:113 cps/templates/search_form.html:137
|
||||
msgid "Yes"
|
||||
msgstr "Si"
|
||||
msgstr "Sì"
|
||||
|
||||
#: cps/templates/book_edit.html:114 cps/templates/search_form.html:138
|
||||
msgid "No"
|
||||
@ -1377,7 +1377,7 @@ msgstr "Livello di Log"
|
||||
|
||||
#: cps/templates/config_edit.html:131
|
||||
msgid "Location and name of logfile (calibre-web.log for no entry)"
|
||||
msgstr "Percorso e nome del logfile (senza indicazioni sarà calibre-web.log)"
|
||||
msgstr "Percorso e nome del Logfile (senza indicazioni sarà calibre-web.log)"
|
||||
|
||||
#: cps/templates/config_edit.html:136
|
||||
msgid "Enable Access Log"
|
||||
@ -1385,11 +1385,11 @@ msgstr "Abilita l'Access Log"
|
||||
|
||||
#: cps/templates/config_edit.html:139
|
||||
msgid "Location and name of access logfile (access.log for no entry)"
|
||||
msgstr "Percorso e nome del logfile di accesso (senza indicazioni sarà access.log)"
|
||||
msgstr "Percorso e nome del Logfile di accesso (senza indicazioni sarà access.log)"
|
||||
|
||||
#: cps/templates/config_edit.html:150
|
||||
msgid "Feature Configuration"
|
||||
msgstr "Configurazione della caratteristica"
|
||||
msgstr "Ulteriori opzioni"
|
||||
|
||||
#: cps/templates/config_edit.html:158
|
||||
msgid "Enable uploading"
|
||||
@ -1528,7 +1528,7 @@ msgstr "Utilizza il convertitore di Calibre"
|
||||
|
||||
#: cps/templates/config_edit.html:308
|
||||
msgid "E-Book converter settings"
|
||||
msgstr "Configurazione del convertitore di e-book"
|
||||
msgstr "Configurazione del convertitore di libri"
|
||||
|
||||
#: cps/templates/config_edit.html:312
|
||||
msgid "Path to convertertool"
|
||||
@ -1585,7 +1585,7 @@ msgstr "Espressione regolare per ordinare la visualizzazione del titolo"
|
||||
|
||||
#: cps/templates/config_view_edit.html:59
|
||||
msgid "Tags for Mature Content"
|
||||
msgstr "Tags per i libri per adulti"
|
||||
msgstr "Tags dei libri per adulti"
|
||||
|
||||
#: cps/templates/config_view_edit.html:73
|
||||
msgid "Default settings for new users"
|
||||
@ -1629,7 +1629,7 @@ msgstr "Visibilità di base per i nuovi utenti"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
msgstr "Mostra libri a caso nella vista dettagliata"
|
||||
msgstr "Mostra libri scelti alleatoriamente nella vista dettagliata"
|
||||
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:89
|
||||
msgid "Show mature content"
|
||||
@ -1705,7 +1705,7 @@ msgstr "password SMTP"
|
||||
|
||||
#: cps/templates/email_edit.html:35
|
||||
msgid "From e-mail"
|
||||
msgstr "Dall'email"
|
||||
msgstr "E-mail mittente"
|
||||
|
||||
#: cps/templates/email_edit.html:38
|
||||
msgid "Save settings"
|
||||
@ -1717,7 +1717,7 @@ msgstr "Salva le impostazioni e invia e-mail di test"
|
||||
|
||||
#: cps/templates/email_edit.html:43
|
||||
msgid "Allowed domains for registering"
|
||||
msgstr "Dominii autorizzti alla registrazione"
|
||||
msgstr "Dominii autorizzati alla registrazione"
|
||||
|
||||
#: cps/templates/email_edit.html:46 cps/templates/email_edit.html:72
|
||||
msgid "Add Domain"
|
||||
@ -1749,7 +1749,7 @@ msgstr "Crea-segnala un problema"
|
||||
|
||||
#: cps/templates/http_error.html:44
|
||||
msgid "Back to home"
|
||||
msgstr "Ritorno alla pagina principale"
|
||||
msgstr "Ritorna alla pagina principale"
|
||||
|
||||
#: cps/templates/index.html:5
|
||||
msgid "Discover (Random Books)"
|
||||
@ -1781,7 +1781,7 @@ msgstr "Gli ultimi libri"
|
||||
|
||||
#: cps/templates/index.xml:42
|
||||
msgid "Show Random Books"
|
||||
msgstr "Mostra libri casuali"
|
||||
msgstr "Mostra libri casualmente"
|
||||
|
||||
#: cps/templates/index.xml:65
|
||||
msgid "Books ordered by Author"
|
||||
@ -1854,7 +1854,7 @@ msgstr "Registra"
|
||||
|
||||
#: cps/templates/layout.html:116 cps/templates/layout.html:223
|
||||
msgid "Uploading..."
|
||||
msgstr "Carica"
|
||||
msgstr "Carico..."
|
||||
|
||||
#: cps/templates/layout.html:117
|
||||
msgid "please don't refresh the page"
|
||||
@ -1912,11 +1912,11 @@ msgstr "Accedi con magic link"
|
||||
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
msgstr "Mostra il log di Calibre-Web: "
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr "Mostra il log Calibre-Web"
|
||||
msgstr "Calibre-Web\" log: "
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
@ -1924,7 +1924,7 @@ msgstr "Flusso attivo, non può essere visualizzato"
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr "Mostra il log di accesso"
|
||||
msgstr "Mostra il log di accesso: "
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
msgid "Calibre-Web ebook catalog"
|
||||
@ -2072,7 +2072,7 @@ msgstr "Nessun risultato per:"
|
||||
|
||||
#: cps/templates/search.html:6
|
||||
msgid "Please try a different search"
|
||||
msgstr "Prova una ricerca diversa"
|
||||
msgstr "Prova una ricerca differente"
|
||||
|
||||
#: cps/templates/search.html:8
|
||||
msgid "Results for:"
|
||||
@ -2116,7 +2116,7 @@ msgstr "Valutazione inferiore a"
|
||||
|
||||
#: cps/templates/shelf.html:10
|
||||
msgid "Delete this Shelf"
|
||||
msgstr "Cancellare questo scaffale"
|
||||
msgstr "Cancella questo scaffale"
|
||||
|
||||
#: cps/templates/shelf.html:11
|
||||
msgid "Edit Shelf"
|
||||
@ -2144,7 +2144,7 @@ msgstr "Riordina tramite drag and drop"
|
||||
|
||||
#: cps/templates/stats.html:7
|
||||
msgid "Calibre library statistics"
|
||||
msgstr "Statistiche libreria Calibre"
|
||||
msgstr "Statistiche della libreria di Calibre"
|
||||
|
||||
#: cps/templates/stats.html:12
|
||||
msgid "Books in this Library"
|
||||
@ -2220,11 +2220,11 @@ msgstr "E-mail di Kindle"
|
||||
|
||||
#: cps/templates/user_edit.html:41
|
||||
msgid "Show books with language"
|
||||
msgstr "Mostra libri per lingua"
|
||||
msgstr "Mostra libri in "
|
||||
|
||||
#: cps/templates/user_edit.html:43
|
||||
msgid "Show all"
|
||||
msgstr "Mostra tutto"
|
||||
msgstr "Mostra libri in tutte le lingue presenti"
|
||||
|
||||
#: cps/templates/user_edit.html:53
|
||||
msgid "OAuth Settings"
|
||||
@ -3513,7 +3513,7 @@ msgstr "Download recenti"
|
||||
#~ msgstr "La copertina non è un file in formato jpg: non posso salvare"
|
||||
|
||||
#~ msgid "Preparing document for printing..."
|
||||
#~ msgstr "Preparo documento per la stampa..."
|
||||
#~ msgstr "Preparo il documento per la stampa..."
|
||||
|
||||
#~ msgid "Using your another device, visit"
|
||||
#~ msgstr "Utilizza il tuo altro dispositivo, visita"
|
||||
@ -3522,10 +3522,10 @@ msgstr "Download recenti"
|
||||
#~ msgstr "e accedi"
|
||||
|
||||
#~ msgid "Using your another device, login and visit "
|
||||
#~ msgstr "Utilizza il tuo altro apparecchio, collegati e visita"
|
||||
#~ msgstr "Utilizza il tuo altro apparecchio, collegati e visita "
|
||||
|
||||
#~ msgid "Newest Books"
|
||||
#~ msgstr "I libri più nuovi"
|
||||
#~ msgstr "I libri più recenti"
|
||||
|
||||
#~ msgid "Oldest Books"
|
||||
#~ msgstr "I libri più vecchi"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
|
||||
"Last-Translator: white <space_white@yahoo.com>\n"
|
||||
"Language: ja\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: km_KH\n"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web (GPLV3)\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-06-17 22:37+0200\n"
|
||||
"Last-Translator: Marcel Maas <marcel.maas@outlook.com>\n"
|
||||
"Language: nl\n"
|
||||
|
Binary file not shown.
@ -8,9 +8,9 @@ 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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-08-18 22:06+0200\n"
|
||||
"Last-Translator: Radosław Kierznowski <radek.kierznowski@outlook.com>\n"
|
||||
"Last-Translator: Jerzy Piątek <jerzy.piatek@gmail.com>\n"
|
||||
"Language: pl\n"
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
@ -48,7 +48,7 @@ msgstr "Nieznany"
|
||||
|
||||
#: cps/admin.py:129
|
||||
msgid "Admin page"
|
||||
msgstr " Panel administratora"
|
||||
msgstr "Panel administratora"
|
||||
|
||||
#: cps/admin.py:148 cps/templates/admin.html:115
|
||||
msgid "UI Configuration"
|
||||
@ -100,7 +100,7 @@ msgstr "Wystąpił błąd podczas wysyłania e-maila testowego: %(res)s"
|
||||
|
||||
#: cps/admin.py:540
|
||||
msgid "Please configure your e-mail address first..."
|
||||
msgstr ""
|
||||
msgstr "Najpierw skonfiguruj swój adres e-mail..."
|
||||
|
||||
#: cps/admin.py:542
|
||||
msgid "E-mail server settings updated"
|
||||
@ -126,7 +126,7 @@ msgstr "Edytuj użytkownika %(nick)s"
|
||||
|
||||
#: cps/admin.py:622 cps/web.py:1324
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
msgstr "Nazwa użytkownika jest już zajęta"
|
||||
|
||||
#: cps/admin.py:637
|
||||
#, python-format
|
||||
@ -194,7 +194,7 @@ msgstr ""
|
||||
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr ""
|
||||
msgstr "Błąd połączenia"
|
||||
|
||||
#: cps/admin.py:723 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
@ -206,7 +206,7 @@ msgstr ""
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
msgstr "nie skonfigurowane"
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:396
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
@ -265,11 +265,11 @@ msgstr "Błąd podczas edycji książki, sprawdź plik logu, aby uzyskać szczeg
|
||||
#: cps/editbooks.py:581
|
||||
#, python-format
|
||||
msgid "File %(filename)s could not saved to temp dir"
|
||||
msgstr ""
|
||||
msgstr "Nie można zapisać pliku %(filename)s w katalogu tymczasowym"
|
||||
|
||||
#: cps/editbooks.py:598
|
||||
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
|
||||
msgstr ""
|
||||
msgstr "Przesłana książka prawdopodobnie istnieje w bibliotece, rozważ zmianę przed przesłaniem nowej: "
|
||||
|
||||
#: cps/editbooks.py:613
|
||||
#, python-format
|
||||
@ -479,7 +479,7 @@ msgstr ""
|
||||
|
||||
#: cps/shelf.py:47 cps/shelf.py:99
|
||||
msgid "Invalid shelf specified"
|
||||
msgstr ""
|
||||
msgstr "Podano niewłaściwą półkę"
|
||||
|
||||
#: cps/shelf.py:54
|
||||
#, python-format
|
||||
@ -488,12 +488,12 @@ msgstr ""
|
||||
|
||||
#: cps/shelf.py:62
|
||||
msgid "You are not allowed to edit public shelves"
|
||||
msgstr ""
|
||||
msgstr "Nie masz uprawnień do edytowania publicznej półki"
|
||||
|
||||
#: cps/shelf.py:71
|
||||
#, python-format
|
||||
msgid "Book is already part of the shelf: %(shelfname)s"
|
||||
msgstr ""
|
||||
msgstr "Książka jest już dodana do półki"
|
||||
|
||||
#: cps/shelf.py:85
|
||||
#, python-format
|
||||
@ -503,26 +503,26 @@ msgstr "Książka została dodana do półki: %(sname)s"
|
||||
#: cps/shelf.py:104
|
||||
#, python-format
|
||||
msgid "You are not allowed to add a book to the the shelf: %(name)s"
|
||||
msgstr ""
|
||||
msgstr "Nie masz uprawnień do dodania ksiażki do półki: %(name)s"
|
||||
|
||||
#: cps/shelf.py:109
|
||||
msgid "User is not allowed to edit public shelves"
|
||||
msgstr ""
|
||||
msgstr "Użytkownik nie ma uprawnień do edytowania publicznych półek"
|
||||
|
||||
#: cps/shelf.py:127
|
||||
#, python-format
|
||||
msgid "Books are already part of the shelf: %(name)s"
|
||||
msgstr ""
|
||||
msgstr "Książki są już dodane do półki: %(name)s"
|
||||
|
||||
#: cps/shelf.py:141
|
||||
#, python-format
|
||||
msgid "Books have been added to shelf: %(sname)s"
|
||||
msgstr ""
|
||||
msgstr "Książki zostały dodane do półki %(sname)s"
|
||||
|
||||
#: cps/shelf.py:143
|
||||
#, python-format
|
||||
msgid "Could not add books to shelf: %(sname)s"
|
||||
msgstr ""
|
||||
msgstr "Nie można dodać książek do półki: %(sname)s"
|
||||
|
||||
#: cps/shelf.py:180
|
||||
#, python-format
|
||||
@ -532,7 +532,7 @@ msgstr "Książka została usunięta z półki: %(sname)s"
|
||||
#: cps/shelf.py:186
|
||||
#, python-format
|
||||
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
|
||||
msgstr ""
|
||||
msgstr "Niestety nie możesz usunąć książki z tej półki %(sname)s"
|
||||
|
||||
#: cps/shelf.py:207 cps/shelf.py:231
|
||||
#, python-format
|
||||
@ -568,7 +568,7 @@ msgstr "Półka: '%(name)s'"
|
||||
|
||||
#: cps/shelf.py:292
|
||||
msgid "Error opening shelf. Shelf does not exist or is not accessible"
|
||||
msgstr ""
|
||||
msgstr "Błąd otwierania półki. Półka nie istnieje lub jest niedostępna"
|
||||
|
||||
#: cps/shelf.py:323
|
||||
#, python-format
|
||||
@ -615,7 +615,7 @@ msgstr "Nieprzeczytane książki"
|
||||
|
||||
#: cps/ub.py:73
|
||||
msgid "Show unread"
|
||||
msgstr ""
|
||||
msgstr "Pokaż nieprzeczytane"
|
||||
|
||||
#: cps/ub.py:74
|
||||
msgid "Discover"
|
||||
@ -688,28 +688,28 @@ msgstr ""
|
||||
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr ""
|
||||
msgstr "Brak dostępnej aktualizacji. Masz już zainstalowaną najnowszą wersję"
|
||||
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr ""
|
||||
msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktualizować do najnowszej wersji."
|
||||
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr ""
|
||||
msgstr "Nie można pobrać informacji o aktualizacji"
|
||||
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
msgstr "Brak dostępnych informacji o wersji"
|
||||
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktualizować do wersji: %(version)s"
|
||||
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
msgstr "Kliknij przycisk poniżej, aby zaktualizować do najnowszej stabilnej wersji."
|
||||
|
||||
#: cps/web.py:486
|
||||
msgid "Recently Added Books"
|
||||
@ -796,7 +796,7 @@ msgstr "Lista kategorii"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:807
|
||||
msgid "Tasks"
|
||||
msgstr " Zadania"
|
||||
msgstr "Zadania"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:827 cps/web.py:829
|
||||
@ -841,7 +841,7 @@ msgstr "Najpierw skonfiguruj adres e-mail Kindla..."
|
||||
|
||||
#: cps/web.py:1084
|
||||
msgid "E-Mail server is not configured, please contact your administrator!"
|
||||
msgstr ""
|
||||
msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!"
|
||||
|
||||
#: cps/web.py:1085 cps/web.py:1091 cps/web.py:1116 cps/web.py:1120
|
||||
#: cps/web.py:1125 cps/web.py:1129
|
||||
@ -879,11 +879,11 @@ msgstr "Błędna nazwa użytkownika lub hasło"
|
||||
|
||||
#: cps/web.py:1167
|
||||
msgid "New Password was send to your email address"
|
||||
msgstr ""
|
||||
msgstr "Nowe hasło zostało wysłane na Twój adres e-mail"
|
||||
|
||||
#: cps/web.py:1173
|
||||
msgid "Please enter valid username to reset password"
|
||||
msgstr ""
|
||||
msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło"
|
||||
|
||||
#: cps/web.py:1179
|
||||
#, python-format
|
||||
@ -957,7 +957,7 @@ msgstr "DLS"
|
||||
# ???
|
||||
#: cps/templates/admin.html:16 cps/templates/layout.html:76
|
||||
msgid "Admin"
|
||||
msgstr " Panel administratora"
|
||||
msgstr "Panel administratora"
|
||||
|
||||
# ???
|
||||
#: cps/templates/admin.html:17 cps/templates/detail.html:18
|
||||
@ -1040,7 +1040,7 @@ msgstr "Publiczna rejestracja"
|
||||
|
||||
#: cps/templates/admin.html:100 cps/templates/remote_login.html:4
|
||||
msgid "Remote login"
|
||||
msgstr ""
|
||||
msgstr "Zdalne logowanie"
|
||||
|
||||
#: cps/templates/admin.html:104
|
||||
msgid "Reverse proxy login"
|
||||
@ -1048,7 +1048,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/admin.html:109
|
||||
msgid "Reverse proxy header name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa nagłówka reverse proxy"
|
||||
|
||||
#: cps/templates/admin.html:121
|
||||
msgid "Administration"
|
||||
@ -1127,7 +1127,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/author.html:23
|
||||
msgid "In Library"
|
||||
msgstr ""
|
||||
msgstr "W Bibliotece"
|
||||
|
||||
# ???
|
||||
#: cps/templates/author.html:34 cps/templates/list.html:14
|
||||
@ -1144,7 +1144,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/author.html:94
|
||||
msgid "More by"
|
||||
msgstr ""
|
||||
msgstr "Więcej według"
|
||||
|
||||
#: cps/templates/book_edit.html:12
|
||||
msgid "Delete Book"
|
||||
@ -1213,7 +1213,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/book_edit.html:87
|
||||
msgid "Upload Cover from local drive"
|
||||
msgstr ""
|
||||
msgstr "Prześlij okładkę z dysku lokalnego"
|
||||
|
||||
#: cps/templates/book_edit.html:92 cps/templates/detail.html:165
|
||||
msgid "Publishing date"
|
||||
@ -1320,15 +1320,15 @@ msgstr "Użyć dysku Google?"
|
||||
|
||||
#: cps/templates/config_edit.html:31
|
||||
msgid "Google Drive config problem"
|
||||
msgstr ""
|
||||
msgstr "Problem z konfiguracją Dysku Google"
|
||||
|
||||
#: cps/templates/config_edit.html:37
|
||||
msgid "Authenticate Google Drive"
|
||||
msgstr ""
|
||||
msgstr "Uwierzytelnij Dysk Google"
|
||||
|
||||
#: cps/templates/config_edit.html:41
|
||||
msgid "Please hit submit to continue with setup"
|
||||
msgstr ""
|
||||
msgstr "Kliknij przycisk, aby kontynuować instalację"
|
||||
|
||||
#: cps/templates/config_edit.html:44
|
||||
msgid "Please finish Google Drive setup after login"
|
||||
@ -1369,11 +1369,11 @@ msgstr "Kanał aktualizacji"
|
||||
|
||||
#: cps/templates/config_edit.html:101
|
||||
msgid "Stable"
|
||||
msgstr ""
|
||||
msgstr "Stabilna"
|
||||
|
||||
#: cps/templates/config_edit.html:102
|
||||
msgid "Stable (Automatic)"
|
||||
msgstr ""
|
||||
msgstr "Stablina (Automatycznie)"
|
||||
|
||||
#: cps/templates/config_edit.html:103
|
||||
msgid "Nightly"
|
||||
@ -1425,15 +1425,15 @@ msgstr "Włącz zdalne logowanie (\"magic link\")"
|
||||
|
||||
#: cps/templates/config_edit.html:175
|
||||
msgid "Use Goodreads"
|
||||
msgstr ""
|
||||
msgstr "Użyj Goodreads"
|
||||
|
||||
#: cps/templates/config_edit.html:176
|
||||
msgid "Obtain an API Key"
|
||||
msgstr ""
|
||||
msgstr "Uzyskaj klucz API"
|
||||
|
||||
#: cps/templates/config_edit.html:180
|
||||
msgid "Goodreads API Key"
|
||||
msgstr ""
|
||||
msgstr "Klucz API Goodreads "
|
||||
|
||||
#: cps/templates/config_edit.html:184
|
||||
msgid "Goodreads API Secret"
|
||||
@ -1441,55 +1441,55 @@ msgstr ""
|
||||
|
||||
#: cps/templates/config_edit.html:191
|
||||
msgid "Login type"
|
||||
msgstr ""
|
||||
msgstr "Rodzaj logowania"
|
||||
|
||||
#: cps/templates/config_edit.html:193
|
||||
msgid "Use standard Authentication"
|
||||
msgstr ""
|
||||
msgstr "Użyj standardowego uwierzytelnienia"
|
||||
|
||||
#: cps/templates/config_edit.html:195
|
||||
msgid "Use LDAP Authentication"
|
||||
msgstr ""
|
||||
msgstr "Użyj uwierzytelniania LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:198
|
||||
msgid "Use OAuth"
|
||||
msgstr ""
|
||||
msgstr "Uzyj OAuth"
|
||||
|
||||
#: cps/templates/config_edit.html:205
|
||||
msgid "LDAP Server Host Name or IP Address"
|
||||
msgstr ""
|
||||
msgstr "Nazwa hosta lub adres IP serwera LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:209
|
||||
msgid "LDAP Server Port"
|
||||
msgstr ""
|
||||
msgstr "Port serwera LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:213
|
||||
msgid "LDAP schema (ldap or ldaps)"
|
||||
msgstr ""
|
||||
msgstr "Schemat LDAP (ldap lub ldaps)"
|
||||
|
||||
#: cps/templates/config_edit.html:217
|
||||
msgid "LDAP Admin username"
|
||||
msgstr ""
|
||||
msgstr "Nazwa administratora LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:221
|
||||
msgid "LDAP Admin password"
|
||||
msgstr ""
|
||||
msgstr "Hasło administratora LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:226
|
||||
msgid "LDAP Server use SSL"
|
||||
msgstr ""
|
||||
msgstr "Serwer LDAP korzysta z protokołu SSL"
|
||||
|
||||
#: cps/templates/config_edit.html:230
|
||||
msgid "LDAP Server use TLS"
|
||||
msgstr ""
|
||||
msgstr "Serwer LDAP korzysta z TLS"
|
||||
|
||||
#: cps/templates/config_edit.html:234
|
||||
msgid "LDAP Server Certificate"
|
||||
msgstr ""
|
||||
msgstr "Certyfikat serwera LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:238
|
||||
msgid "LDAP SSL Certificate Path"
|
||||
msgstr ""
|
||||
msgstr "Ścieżka certyfikatu SSL LDAP"
|
||||
|
||||
#: cps/templates/config_edit.html:243
|
||||
msgid "LDAP Distinguished Name (DN)"
|
||||
@ -1501,7 +1501,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/config_edit.html:252
|
||||
msgid "LDAP Server is OpenLDAP?"
|
||||
msgstr ""
|
||||
msgstr "Serwer LDAP to OpenLDAP?"
|
||||
|
||||
#: cps/templates/config_edit.html:260
|
||||
#, python-format
|
||||
@ -1524,7 +1524,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/config_edit.html:280
|
||||
msgid "Reverse Proxy Header Name"
|
||||
msgstr ""
|
||||
msgstr "Nazwa nagłowka reverse proxy"
|
||||
|
||||
#: cps/templates/config_edit.html:292
|
||||
msgid "External binaries"
|
||||
@ -1552,7 +1552,7 @@ msgstr "Lokalizacja do pliku konwertera"
|
||||
|
||||
#: cps/templates/config_edit.html:318
|
||||
msgid "Location of Unrar binary"
|
||||
msgstr ""
|
||||
msgstr "Lokalizacja pliku binarnego Unrar"
|
||||
|
||||
#: cps/templates/config_edit.html:334 cps/templates/layout.html:84
|
||||
#: cps/templates/login.html:4
|
||||
@ -1565,7 +1565,7 @@ msgstr "Konfiguracja Widoku"
|
||||
|
||||
#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7
|
||||
msgid "Title"
|
||||
msgstr "Nazwa serwera"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: cps/templates/config_view_edit.html:27
|
||||
msgid "No. of random books to show"
|
||||
@ -1573,7 +1573,7 @@ msgstr "Liczba losowych książek do pokazania"
|
||||
|
||||
#: cps/templates/config_view_edit.html:31
|
||||
msgid "No. of authors to show before hiding (0=disable hiding)"
|
||||
msgstr ""
|
||||
msgstr "Liczba autorów do pokazania przed ukryciem (0=wyłącza ukrywanie)"
|
||||
|
||||
#: cps/templates/config_view_edit.html:35 cps/templates/readcbr.html:112
|
||||
msgid "Theme"
|
||||
@ -1657,7 +1657,7 @@ msgstr "Czytaj w przeglądarce"
|
||||
|
||||
#: cps/templates/detail.html:72
|
||||
msgid "Listen in browser"
|
||||
msgstr ""
|
||||
msgstr "Słuchaj w przeglądarce"
|
||||
|
||||
#: cps/templates/detail.html:117
|
||||
msgid "Book"
|
||||
@ -1733,27 +1733,27 @@ msgstr "Zapisz ustawienia i wyślij testową wiadomość e-mail"
|
||||
|
||||
#: cps/templates/email_edit.html:43
|
||||
msgid "Allowed domains for registering"
|
||||
msgstr ""
|
||||
msgstr "Domeny dozwolone do rejestracji"
|
||||
|
||||
#: cps/templates/email_edit.html:46 cps/templates/email_edit.html:72
|
||||
msgid "Add Domain"
|
||||
msgstr ""
|
||||
msgstr "Dodaj domenę"
|
||||
|
||||
#: cps/templates/email_edit.html:49 cps/templates/email_edit.html:75
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: cps/templates/email_edit.html:54 cps/templates/email_edit.html:64
|
||||
msgid "Enter domainname"
|
||||
msgstr ""
|
||||
msgstr "Podaj nazwę domeny"
|
||||
|
||||
#: cps/templates/email_edit.html:60
|
||||
msgid "Denied domains for registering"
|
||||
msgstr ""
|
||||
msgstr "Nie można zarejestrowac domen"
|
||||
|
||||
#: cps/templates/email_edit.html:90
|
||||
msgid "Do you really want to delete this domain rule?"
|
||||
msgstr ""
|
||||
msgstr "Czy naprawdę chcesz usunąć tę regułę domeny?"
|
||||
|
||||
#: cps/templates/feed.xml:21 cps/templates/layout.html:176
|
||||
msgid "Next"
|
||||
@ -1792,7 +1792,7 @@ msgstr "Popularne publikacje z tego katalogu bazujące na ocenach."
|
||||
|
||||
#: cps/templates/index.xml:31
|
||||
msgid "Recently added Books"
|
||||
msgstr ""
|
||||
msgstr "Ostatnio dodane książki"
|
||||
|
||||
#: cps/templates/index.xml:35
|
||||
msgid "The latest Books"
|
||||
@ -1820,11 +1820,11 @@ msgstr "Książki sortowane według serii"
|
||||
|
||||
#: cps/templates/index.xml:93
|
||||
msgid "Books ordered by Languages"
|
||||
msgstr ""
|
||||
msgstr "Ksiązki posortowane według języka"
|
||||
|
||||
#: cps/templates/index.xml:100
|
||||
msgid "Books ordered by file formats"
|
||||
msgstr ""
|
||||
msgstr "Ksiązki posortowane według formatu"
|
||||
|
||||
#: cps/templates/index.xml:103 cps/templates/layout.html:137
|
||||
msgid "Public Shelves"
|
||||
@ -1925,7 +1925,7 @@ msgstr "Zapamiętaj mnie"
|
||||
|
||||
#: cps/templates/login.html:22
|
||||
msgid "Forgot password"
|
||||
msgstr ""
|
||||
msgstr "Zapomniałem hasła"
|
||||
|
||||
#: cps/templates/login.html:25
|
||||
msgid "Log in with magic link"
|
||||
@ -1933,19 +1933,19 @@ msgstr "Zaloguj się za pomocą \"magic link\""
|
||||
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
msgstr "Pokaż log Calibre-Web"
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr ""
|
||||
msgstr "Log Calibre-Web"
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
msgstr ""
|
||||
msgstr "Nie można wyświetlić wyjścia"
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr ""
|
||||
msgstr "Pokaż log dostępu"
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
msgid "Calibre-Web ebook catalog"
|
||||
@ -1958,27 +1958,27 @@ msgstr "Tekst pływający, gdy paski boczne są otwarte."
|
||||
|
||||
#: cps/templates/readcbr.html:88
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Skróty klawiaturowe"
|
||||
|
||||
#: cps/templates/readcbr.html:91
|
||||
msgid "Previous Page"
|
||||
msgstr ""
|
||||
msgstr "Poprzednia strona"
|
||||
|
||||
#: cps/templates/readcbr.html:92
|
||||
msgid "Next Page"
|
||||
msgstr ""
|
||||
msgstr "Następna strona"
|
||||
|
||||
#: cps/templates/readcbr.html:93
|
||||
msgid "Scale to Best"
|
||||
msgstr ""
|
||||
msgstr "Skaluj do najlepszego"
|
||||
|
||||
#: cps/templates/readcbr.html:94
|
||||
msgid "Scale to Width"
|
||||
msgstr ""
|
||||
msgstr "Skaluj do szerokości"
|
||||
|
||||
#: cps/templates/readcbr.html:95
|
||||
msgid "Scale to Height"
|
||||
msgstr ""
|
||||
msgstr "Skaluj do wysokości"
|
||||
|
||||
#: cps/templates/readcbr.html:96
|
||||
msgid "Scale to Native"
|
||||
@ -1986,11 +1986,11 @@ msgstr ""
|
||||
|
||||
#: cps/templates/readcbr.html:97
|
||||
msgid "Rotate Right"
|
||||
msgstr ""
|
||||
msgstr "Obróć w prawo"
|
||||
|
||||
#: cps/templates/readcbr.html:98
|
||||
msgid "Rotate Left"
|
||||
msgstr ""
|
||||
msgstr "Obróć w lewo"
|
||||
|
||||
#: cps/templates/readcbr.html:99
|
||||
msgid "Flip Image"
|
||||
@ -1998,27 +1998,27 @@ msgstr ""
|
||||
|
||||
#: cps/templates/readcbr.html:115
|
||||
msgid "Light"
|
||||
msgstr ""
|
||||
msgstr "Jasny"
|
||||
|
||||
#: cps/templates/readcbr.html:116
|
||||
msgid "Dark"
|
||||
msgstr ""
|
||||
msgstr "Ciemny"
|
||||
|
||||
#: cps/templates/readcbr.html:121
|
||||
msgid "Scale"
|
||||
msgstr ""
|
||||
msgstr "Skaluj"
|
||||
|
||||
#: cps/templates/readcbr.html:124
|
||||
msgid "Best"
|
||||
msgstr ""
|
||||
msgstr "Najlepszy"
|
||||
|
||||
#: cps/templates/readcbr.html:125
|
||||
msgid "Width"
|
||||
msgstr ""
|
||||
msgstr "Szerokość"
|
||||
|
||||
#: cps/templates/readcbr.html:126
|
||||
msgid "Height"
|
||||
msgstr ""
|
||||
msgstr "Wysokość"
|
||||
|
||||
#: cps/templates/readcbr.html:127
|
||||
msgid "Native"
|
||||
@ -2026,7 +2026,7 @@ msgstr ""
|
||||
|
||||
#: cps/templates/readcbr.html:132
|
||||
msgid "Rotate"
|
||||
msgstr ""
|
||||
msgstr "Obrót"
|
||||
|
||||
#: cps/templates/readcbr.html:143
|
||||
msgid "Flip"
|
||||
@ -2042,7 +2042,7 @@ msgstr "Pionowo"
|
||||
|
||||
#: cps/templates/readcbr.html:152
|
||||
msgid "Direction"
|
||||
msgstr ""
|
||||
msgstr "Kierunek"
|
||||
|
||||
#: cps/templates/readcbr.html:155
|
||||
msgid "Left to Right"
|
||||
@ -2050,11 +2050,11 @@ msgstr "od lewej do prawej"
|
||||
|
||||
#: cps/templates/readcbr.html:156
|
||||
msgid "Right to Left"
|
||||
msgstr "od prawej do lewej"
|
||||
msgstr "Od prawej do lewej"
|
||||
|
||||
#: cps/templates/readpdf.html:29
|
||||
msgid "PDF reader"
|
||||
msgstr "czytnik PDF"
|
||||
msgstr "Czytnik PDF"
|
||||
|
||||
#: cps/templates/readtxt.html:6
|
||||
msgid "Basic txt Reader"
|
||||
@ -2078,11 +2078,11 @@ msgstr "Twój adres e-mail"
|
||||
|
||||
#: cps/templates/remote_login.html:6
|
||||
msgid "Use your other device, login and visit "
|
||||
msgstr ""
|
||||
msgstr "Użyj innego urządzenia, zaloguj się i odwiedź"
|
||||
|
||||
#: cps/templates/remote_login.html:9
|
||||
msgid "Once you do so, you will automatically get logged in on this device."
|
||||
msgstr ""
|
||||
msgstr "Gdy to zrobisz, automatycznie zalogujesz się na tym urządzeniu."
|
||||
|
||||
#: cps/templates/remote_login.html:12
|
||||
msgid "The link will expire after 10 minutes."
|
||||
@ -2122,11 +2122,11 @@ msgstr "Wyklucz języki"
|
||||
|
||||
#: cps/templates/search_form.html:95
|
||||
msgid "Extensions"
|
||||
msgstr ""
|
||||
msgstr "Rozszerzenia"
|
||||
|
||||
#: cps/templates/search_form.html:105
|
||||
msgid "Exclude Extensions"
|
||||
msgstr ""
|
||||
msgstr "Wyklucz rozszerzenia"
|
||||
|
||||
#: cps/templates/search_form.html:117
|
||||
msgid "Rating bigger than"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-21 23:03+0400\n"
|
||||
"Last-Translator: ZIZA\n"
|
||||
"Language: ru\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-18 11:22+0100\n"
|
||||
"Last-Translator: Jonatan Nyberg <jonatan.nyberg.karl@gmail.com>\n"
|
||||
"Language: sv\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
|
||||
"Last-Translator: ABIS Team <biblio.if.abis@gmail.com>\n"
|
||||
"Language: uk\n"
|
||||
|
Binary file not shown.
@ -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: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
|
||||
"Last-Translator: dalin <dalin.lin@gmail.com>\n"
|
||||
"Language: zh_Hans_CN\n"
|
||||
|
@ -151,7 +151,7 @@ def load_user_from_auth_header(header_val):
|
||||
header_val = base64.b64decode(header_val).decode('utf-8')
|
||||
basic_username = header_val.split(':')[0]
|
||||
basic_password = header_val.split(':')[1]
|
||||
except TypeError:
|
||||
except (TypeError, UnicodeDecodeError):
|
||||
pass
|
||||
user = _fetch_user_by_name(basic_username)
|
||||
if user and check_password_hash(str(user.password), basic_password):
|
||||
@ -173,7 +173,7 @@ def remote_login_required(f):
|
||||
def inner(*args, **kwargs):
|
||||
if config.config_remote_login:
|
||||
return f(*args, **kwargs)
|
||||
if request.is_xhr:
|
||||
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
|
||||
data = {'status': 'error', 'message': 'Forbidden'}
|
||||
response = make_response(json.dumps(data, ensure_ascii=False))
|
||||
response.headers["Content-Type"] = "application/json; charset=utf-8"
|
||||
@ -1469,7 +1469,7 @@ def show_book(book_id):
|
||||
audioentries.append(media_format.format.lower())
|
||||
|
||||
return render_title_template('detail.html', entry=entries, audioentries=audioentries, cc=cc,
|
||||
is_xhr=request.is_xhr, title=entries.title, books_shelfs=book_in_shelfs,
|
||||
is_xhr=request.headers.get('X-Requested-With')=='XMLHttpRequest', title=entries.title, books_shelfs=book_in_shelfs,
|
||||
have_read=have_read, kindle_list=kindle_list, reader_list=reader_list, page="book")
|
||||
else:
|
||||
log.debug(u"Error opening eBook. File does not exist or file is not accessible:")
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-27 18:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
Loading…
Reference in New Issue
Block a user