mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-11 02:30:30 +00:00
Merge remote-tracking branch 'refs/remotes/janeczku/master'
This commit is contained in:
commit
1a2aa10c00
7
cps.py
7
cps.py
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
|
||||||
|
|
||||||
base_path = os.path.dirname(os.path.abspath(__file__))
|
base_path = os.path.dirname(os.path.abspath(__file__))
|
||||||
# Insert local directories into path
|
# Insert local directories into path
|
||||||
@ -22,9 +21,9 @@ if __name__ == '__main__':
|
|||||||
http_server.listen(web.ub.config.config_port)
|
http_server.listen(web.ub.config.config_port)
|
||||||
IOLoop.instance().start()
|
IOLoop.instance().start()
|
||||||
|
|
||||||
if web.global_task == 0:
|
if web.helper.global_task == 0:
|
||||||
print("Performing restart of Calibre-web")
|
web.app.logger.info("Performing restart of Calibre-web")
|
||||||
os.execl(sys.executable, sys.executable, *sys.argv)
|
os.execl(sys.executable, sys.executable, *sys.argv)
|
||||||
else:
|
else:
|
||||||
print("Performing shutdown of Calibre-web")
|
web.app.logger.info("Performing shutdown of Calibre-web")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
100
cps/helper.py
100
cps/helper.py
@ -6,7 +6,7 @@ import ub
|
|||||||
from flask import current_app as app
|
from flask import current_app as app
|
||||||
import logging
|
import logging
|
||||||
import smtplib
|
import smtplib
|
||||||
import tempfile
|
from tempfile import gettempdir
|
||||||
import socket
|
import socket
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
@ -21,13 +21,22 @@ from email.MIMEText import MIMEText
|
|||||||
from email.generator import Generator
|
from email.generator import Generator
|
||||||
from flask_babel import gettext as _
|
from flask_babel import gettext as _
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import threading
|
||||||
import shutil
|
import shutil
|
||||||
|
import requests
|
||||||
|
import zipfile
|
||||||
|
from tornado.ioloop import IOLoop
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import unidecode
|
import unidecode
|
||||||
use_unidecode=True
|
use_unidecode=True
|
||||||
except:
|
except:
|
||||||
use_unidecode=False
|
use_unidecode=False
|
||||||
|
|
||||||
|
# Global variables
|
||||||
|
global_task = None
|
||||||
|
updater_thread = None
|
||||||
|
|
||||||
def update_download(book_id, user_id):
|
def update_download(book_id, user_id):
|
||||||
check = ub.session.query(ub.Downloads).filter(ub.Downloads.user_id == user_id).filter(ub.Downloads.book_id ==
|
check = ub.session.query(ub.Downloads).filter(ub.Downloads.user_id == user_id).filter(ub.Downloads.book_id ==
|
||||||
book_id).first()
|
book_id).first()
|
||||||
@ -222,14 +231,14 @@ def get_valid_filename(value, replace_whitespace=True):
|
|||||||
if use_unidecode:
|
if use_unidecode:
|
||||||
value=(unidecode.unidecode(value)).strip()
|
value=(unidecode.unidecode(value)).strip()
|
||||||
else:
|
else:
|
||||||
value=value.replace('§','SS')
|
value=value.replace(u'§',u'SS')
|
||||||
value=value.replace('ß','ss')
|
value=value.replace(u'ß',u'ss')
|
||||||
value = unicodedata.normalize('NFKD', value)
|
value = unicodedata.normalize('NFKD', value)
|
||||||
re_slugify = re.compile('[\W\s-]', re.UNICODE)
|
re_slugify = re.compile('[\W\s-]', re.UNICODE)
|
||||||
value = unicode(re_slugify.sub('', value).strip())
|
value = unicode(re_slugify.sub('', value).strip())
|
||||||
if replace_whitespace:
|
if replace_whitespace:
|
||||||
#*+:\"/<>? werden durch _ ersetzt
|
#*+:\"/<>? werden durch _ ersetzt
|
||||||
value = re.sub('[\*\+:\\\"/<>\?]+', '_', value, flags=re.U)
|
value = re.sub('[\*\+:\\\"/<>\?]+', u'_', value, flags=re.U)
|
||||||
|
|
||||||
value = value[:128]
|
value = value[:128]
|
||||||
return value
|
return value
|
||||||
@ -263,18 +272,50 @@ def update_dir_stucture(book_id, calibrepath):
|
|||||||
|
|
||||||
if authordir != new_authordir:
|
if authordir != new_authordir:
|
||||||
new_author_path = os.path.join(os.path.join(calibrepath, new_authordir), os.path.basename(path))
|
new_author_path = os.path.join(os.path.join(calibrepath, new_authordir), os.path.basename(path))
|
||||||
os.rename(path, new_author_path)
|
os.renames(path, new_author_path)
|
||||||
book.path = new_authordir + '/' + book.path.split('/')[1]
|
book.path = new_authordir + '/' + book.path.split('/')[1]
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
class Updater(threading.Thread):
|
||||||
|
|
||||||
def file_to_list(file):
|
def __init__(self):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
self.status=0
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
global global_task
|
||||||
|
self.status=1
|
||||||
|
r = requests.get('https://api.github.com/repos/janeczku/calibre-web/zipball/master', stream=True)
|
||||||
|
fname = re.findall("filename=(.+)", r.headers['content-disposition'])[0]
|
||||||
|
self.status=2
|
||||||
|
z = zipfile.ZipFile(StringIO(r.content))
|
||||||
|
self.status=3
|
||||||
|
tmp_dir = gettempdir()
|
||||||
|
z.extractall(tmp_dir)
|
||||||
|
self.status=4
|
||||||
|
self.update_source(os.path.join(tmp_dir,os.path.splitext(fname)[0]),ub.config.get_main_dir)
|
||||||
|
self.status=5
|
||||||
|
global_task = 0
|
||||||
|
db.session.close()
|
||||||
|
db.engine.dispose()
|
||||||
|
ub.session.close()
|
||||||
|
ub.engine.dispose()
|
||||||
|
self.status=6
|
||||||
|
# stop tornado server
|
||||||
|
server = IOLoop.instance()
|
||||||
|
server.add_callback(server.stop)
|
||||||
|
self.status=7
|
||||||
|
|
||||||
|
def get_update_status(self):
|
||||||
|
return self.status
|
||||||
|
|
||||||
|
def file_to_list(self, file):
|
||||||
return [x.strip() for x in open(file, 'r') if not x.startswith('#EXT')]
|
return [x.strip() for x in open(file, 'r') if not x.startswith('#EXT')]
|
||||||
|
|
||||||
def one_minus_two(one, two):
|
def one_minus_two(self, one, two):
|
||||||
return [x for x in one if x not in set(two)]
|
return [x for x in one if x not in set(two)]
|
||||||
|
|
||||||
def reduce_dirs(delete_files, new_list):
|
def reduce_dirs(self, delete_files, new_list):
|
||||||
new_delete = []
|
new_delete = []
|
||||||
for file in delete_files:
|
for file in delete_files:
|
||||||
parts = file.split(os.sep)
|
parts = file.split(os.sep)
|
||||||
@ -294,27 +335,26 @@ def reduce_dirs(delete_files, new_list):
|
|||||||
break
|
break
|
||||||
return list(set(new_delete))
|
return list(set(new_delete))
|
||||||
|
|
||||||
def reduce_files(remove_items, exclude_items):
|
def reduce_files(self, remove_items, exclude_items):
|
||||||
rf = []
|
rf = []
|
||||||
for item in remove_items:
|
for item in remove_items:
|
||||||
if not item in exclude_items:
|
if not item.startswith(exclude_items):
|
||||||
rf.append(item)
|
rf.append(item)
|
||||||
return rf
|
return rf
|
||||||
|
|
||||||
def moveallfiles(root_src_dir, root_dst_dir):
|
def moveallfiles(self, root_src_dir, root_dst_dir):
|
||||||
change_permissions = True
|
change_permissions = True
|
||||||
if sys.platform == "win32" or sys.platform == "darwin":
|
if sys.platform == "win32" or sys.platform == "darwin":
|
||||||
change_permissions = False
|
change_permissions = False
|
||||||
else:
|
else:
|
||||||
app.logger.debug('Update on OS-System : '+sys.platform )
|
logging.getLogger('cps.web').debug('Update on OS-System : ' + sys.platform)
|
||||||
#print('OS-System: '+sys.platform )
|
|
||||||
new_permissions = os.stat(root_dst_dir)
|
new_permissions = os.stat(root_dst_dir)
|
||||||
# print new_permissions
|
# print new_permissions
|
||||||
for src_dir, dirs, files in os.walk(root_src_dir):
|
for src_dir, dirs, files in os.walk(root_src_dir):
|
||||||
dst_dir = src_dir.replace(root_src_dir, root_dst_dir, 1)
|
dst_dir = src_dir.replace(root_src_dir, root_dst_dir, 1)
|
||||||
if not os.path.exists(dst_dir):
|
if not os.path.exists(dst_dir):
|
||||||
os.makedirs(dst_dir)
|
os.makedirs(dst_dir)
|
||||||
#print('Create-Dir: '+dst_dir)
|
logging.getLogger('cps.web').debug('Create-Dir: '+dst_dir)
|
||||||
if change_permissions:
|
if change_permissions:
|
||||||
# print('Permissions: User '+str(new_permissions.st_uid)+' Group '+str(new_permissions.st_uid))
|
# print('Permissions: User '+str(new_permissions.st_uid)+' Group '+str(new_permissions.st_uid))
|
||||||
os.chown(dst_dir, new_permissions.st_uid, new_permissions.st_gid)
|
os.chown(dst_dir, new_permissions.st_uid, new_permissions.st_gid)
|
||||||
@ -324,27 +364,28 @@ def moveallfiles(root_src_dir, root_dst_dir):
|
|||||||
if os.path.exists(dst_file):
|
if os.path.exists(dst_file):
|
||||||
if change_permissions:
|
if change_permissions:
|
||||||
permission = os.stat(dst_file)
|
permission = os.stat(dst_file)
|
||||||
#print('Remove file before copy: '+dst_file)
|
logging.getLogger('cps.web').debug('Remove file before copy: '+dst_file)
|
||||||
os.remove(dst_file)
|
os.remove(dst_file)
|
||||||
else:
|
else:
|
||||||
if change_permissions:
|
if change_permissions:
|
||||||
permission = new_permissions
|
permission = new_permissions
|
||||||
shutil.move(src_file, dst_dir)
|
shutil.move(src_file, dst_dir)
|
||||||
#print('Move File '+src_file+' to '+dst_dir)
|
logging.getLogger('cps.web').debug('Move File '+src_file+' to '+dst_dir)
|
||||||
if change_permissions:
|
if change_permissions:
|
||||||
try:
|
try:
|
||||||
os.chown(dst_file, permission.st_uid, permission.st_uid)
|
os.chown(dst_file, permission.st_uid, permission.st_uid)
|
||||||
# print('Permissions: User '+str(new_permissions.st_uid)+' Group '+str(new_permissions.st_uid))
|
# print('Permissions: User '+str(new_permissions.st_uid)+' Group '+str(new_permissions.st_uid))
|
||||||
except:
|
except:
|
||||||
e = sys.exc_info()
|
e = sys.exc_info()
|
||||||
#print('Fail '+str(dst_file)+' error: '+str(e))
|
logging.getLogger('cps.web').debug('Fail '+str(dst_file)+' error: '+str(e))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def update_source(self, source, destination):
|
||||||
def update_source(source,destination):
|
|
||||||
# destination files
|
# destination files
|
||||||
old_list = list()
|
old_list = list()
|
||||||
exclude = (['vendor' + os.sep + 'kindlegen.exe','vendor' + os.sep + 'kindlegen','/app.db','vendor','/update.py'])
|
exclude = (
|
||||||
|
'vendor' + os.sep + 'kindlegen.exe', 'vendor' + os.sep + 'kindlegen', os.sep + 'app.db',
|
||||||
|
os.sep + 'vendor',os.sep + 'calibre-web.log')
|
||||||
for root, dirs, files in os.walk(destination, topdown=True):
|
for root, dirs, files in os.walk(destination, topdown=True):
|
||||||
for name in files:
|
for name in files:
|
||||||
old_list.append(os.path.join(root, name).replace(destination, ''))
|
old_list.append(os.path.join(root, name).replace(destination, ''))
|
||||||
@ -358,26 +399,25 @@ def update_source(source,destination):
|
|||||||
for name in dirs:
|
for name in dirs:
|
||||||
new_list.append(os.path.join(root, name).replace(source, ''))
|
new_list.append(os.path.join(root, name).replace(source, ''))
|
||||||
|
|
||||||
delete_files = one_minus_two(old_list, new_list)
|
delete_files = self.one_minus_two(old_list, new_list)
|
||||||
#print('raw delete list', delete_files)
|
|
||||||
|
|
||||||
rf= reduce_files(delete_files, exclude)
|
rf = self.reduce_files(delete_files, exclude)
|
||||||
#print('reduced delete list', rf)
|
|
||||||
|
|
||||||
remove_items = reduce_dirs(rf, new_list)
|
remove_items = self.reduce_dirs(rf, new_list)
|
||||||
#print('delete files', remove_items)
|
|
||||||
|
|
||||||
moveallfiles(source, destination)
|
self.moveallfiles(source, destination)
|
||||||
|
|
||||||
for item in remove_items:
|
for item in remove_items:
|
||||||
item_path = os.path.join(destination, item[1:])
|
item_path = os.path.join(destination, item[1:])
|
||||||
if os.path.isdir(item_path):
|
if os.path.isdir(item_path):
|
||||||
print("Delete dir "+ item_path)
|
logging.getLogger('cps.web').debug("Delete dir " + item_path)
|
||||||
shutil.rmtree(item_path)
|
shutil.rmtree(item_path)
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
print("Delete file "+ item_path)
|
logging.getLogger('cps.web').debug("Delete file " + item_path)
|
||||||
|
log_from_thread("Delete file " + item_path)
|
||||||
os.remove(item_path)
|
os.remove(item_path)
|
||||||
except:
|
except:
|
||||||
print("Could not remove:"+item_path)
|
logging.getLogger('cps.web').debug("Could not remove:" + item_path)
|
||||||
shutil.rmtree(source, ignore_errors=True)
|
shutil.rmtree(source, ignore_errors=True)
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@ span.glyphicon.glyphicon-tags {padding-right: 5px;color: #999;vertical-align: te
|
|||||||
-moz-box-shadow: 0 5px 8px -6px #777;
|
-moz-box-shadow: 0 5px 8px -6px #777;
|
||||||
box-shadow: 0 5px 8px -6px #777;
|
box-shadow: 0 5px 8px -6px #777;
|
||||||
}
|
}
|
||||||
|
.navbar-default .navbar-toggle .icon-bar {background-color: #000;}
|
||||||
|
.navbar-default .navbar-toggle {border-color: #000;}
|
||||||
|
|
||||||
.btn-file {position: relative; overflow: hidden;}
|
.btn-file {position: relative; overflow: hidden;}
|
||||||
.btn-file input[type=file] {position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; filter: alpha(opacity=0); opacity: 0; outline: none; background: white; cursor: inherit; display: block;}
|
.btn-file input[type=file] {position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; filter: alpha(opacity=0); opacity: 0; outline: none; background: white; cursor: inherit; display: block;}
|
||||||
@ -45,3 +47,7 @@ span.glyphicon.glyphicon-tags {padding-right: 5px;color: #999;vertical-align: te
|
|||||||
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary{ background-color: #1C5484; }
|
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary{ background-color: #1C5484; }
|
||||||
.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #89B9E2; }
|
.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #89B9E2; }
|
||||||
.btn-toolbar>.btn+.btn, .btn-toolbar>.btn-group+.btn, .btn-toolbar>.btn+.btn-group, .btn-toolbar>.btn-group+.btn-group { margin-left:0px; }
|
.btn-toolbar>.btn+.btn, .btn-toolbar>.btn-group+.btn, .btn-toolbar>.btn+.btn-group, .btn-toolbar>.btn-group+.btn-group { margin-left:0px; }
|
||||||
|
|
||||||
|
.spinner {margin:0 41%;}
|
||||||
|
.spinner2 {margin:0 41%;}
|
||||||
|
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
var displaytext;
|
||||||
|
var updateTimerID;
|
||||||
|
var updateText;
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
$('.discover .row').isotope({
|
$('.discover .row').isotope({
|
||||||
@ -31,7 +34,9 @@ $(function() {
|
|||||||
url: window.location.pathname+"/../../shutdown",
|
url: window.location.pathname+"/../../shutdown",
|
||||||
data: {"parameter":0},
|
data: {"parameter":0},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
return alert(data.text);}
|
$('#spinner').show();
|
||||||
|
displaytext=data.text;
|
||||||
|
window.setTimeout(restartTimer, 3000);}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$("#shutdown").click(function() {
|
$("#shutdown").click(function() {
|
||||||
@ -50,16 +55,65 @@ $(function() {
|
|||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
url: window.location.pathname+"/../../get_update_status",
|
url: window.location.pathname+"/../../get_update_status",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
|
$("#check_for_update").html(button_text);
|
||||||
if (data.status == true) {
|
if (data.status == true) {
|
||||||
$("#check_for_update").addClass('hidden');
|
$("#check_for_update").addClass('hidden');
|
||||||
$("#perform_update").removeClass('hidden');
|
$("#perform_update").removeClass('hidden');
|
||||||
}else{
|
$("#update_info").removeClass('hidden');
|
||||||
$("#check_for_update").html(button_text);
|
$("#update_info").find('span').html(data.commit);
|
||||||
};}
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$("#perform_update").click(function() {
|
||||||
|
$('#spinner2').show();
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
dataType: 'json',
|
||||||
|
data: { start: "True"},
|
||||||
|
url: window.location.pathname+"/../../get_updater_status",
|
||||||
|
success: function(data) {
|
||||||
|
updateText=data.text
|
||||||
|
$("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]);
|
||||||
|
console.log(data.status);
|
||||||
|
updateTimerID=setInterval(updateTimer, 2000);}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function restartTimer() {
|
||||||
|
$('#spinner').hide();
|
||||||
|
$('#RestartDialog').modal('hide');
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateTimer() {
|
||||||
|
$.ajax({
|
||||||
|
dataType: 'json',
|
||||||
|
url: window.location.pathname+"/../../get_updater_status",
|
||||||
|
success: function(data) {
|
||||||
|
console.log(data.status);
|
||||||
|
$("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]);
|
||||||
|
if (data.status >6){
|
||||||
|
clearInterval(updateTimerID);
|
||||||
|
$('#spinner2').hide();
|
||||||
|
$('#UpdateprogressDialog #updateFinished').removeClass('hidden');
|
||||||
|
$("#check_for_update").removeClass('hidden');
|
||||||
|
$("#perform_update").addClass('hidden');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function() {
|
||||||
|
console.log('Done');
|
||||||
|
clearInterval(updateTimerID);
|
||||||
|
$('#spinner2').hide();
|
||||||
|
$("#UpdateprogressDialog #Updatecontent").html(updateText[7]);
|
||||||
|
$('#UpdateprogressDialog #updateFinished').removeClass('hidden');
|
||||||
|
$("#check_for_update").removeClass('hidden');
|
||||||
|
$("#perform_update").addClass('hidden');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$(window).resize(function(event) {
|
$(window).resize(function(event) {
|
||||||
$('.discover .row').isotope('reLayout');
|
$('.discover .row').isotope('reLayout');
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="discover">
|
<div class="discover">
|
||||||
<h2>{{_('User list')}}</h2>
|
<h2>{{_('User list')}}</h2>
|
||||||
|
<div id="divLoading"></div>
|
||||||
<table class="table table-striped" id="table_user">
|
<table class="table table-striped" id="table_user">
|
||||||
<tr>
|
<tr>
|
||||||
<th>{{_('Nickname')}}</th>
|
<th>{{_('Nickname')}}</th>
|
||||||
@ -76,11 +77,13 @@
|
|||||||
<div class="btn btn-default"><a href="{{url_for('configuration')}}">{{_('Configuration')}}</a></div>
|
<div class="btn btn-default"><a href="{{url_for('configuration')}}">{{_('Configuration')}}</a></div>
|
||||||
<h2>{{_('Administration')}}</h2>
|
<h2>{{_('Administration')}}</h2>
|
||||||
{% if not development %}
|
{% if not development %}
|
||||||
<p>{{_('Current commit timestamp')}}: {{commit}} </p>
|
<div>{{_('Current commit timestamp')}}: <span>{{commit}} </span></div>
|
||||||
<div class="btn btn-default" data-toggle="modal" data-target="#RestartDialog">{{_('Restart Calibre-web')}}</a></div>
|
<div class="hidden" id="update_info">{{_('Newest commit timestamp')}}: <span></span></div>
|
||||||
<div class="btn btn-default" data-toggle="modal" data-target="#ShutdownDialog">{{_('Stop Calibre-web')}}</a></div>
|
<p></p>
|
||||||
<div class="btn btn-default" id="check_for_update">{{_('Check for update')}}</a></div>
|
<div class="btn btn-default" data-toggle="modal" data-target="#RestartDialog">{{_('Restart Calibre-web')}}</div>
|
||||||
<a href="{{url_for('update')}}" class="btn btn-default hidden" id="perform_update">{{_('Perform Update')}}</a>
|
<div class="btn btn-default" data-toggle="modal" data-target="#ShutdownDialog">{{_('Stop Calibre-web')}}</div>
|
||||||
|
<div class="btn btn-default" id="check_for_update">{{_('Check for update')}}</div>
|
||||||
|
<div class="btn btn-default hidden" id="perform_update" data-toggle="modal" data-target="#UpdateprogressDialog">{{_('Perform Update')}}</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<!-- Modal -->
|
<!-- Modal -->
|
||||||
@ -88,15 +91,17 @@
|
|||||||
<div class="modal-dialog modal-sm">
|
<div class="modal-dialog modal-sm">
|
||||||
<!-- Modal content-->
|
<!-- Modal content-->
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header bg-info">
|
<div class="modal-header bg-info"></div>
|
||||||
</div>
|
|
||||||
<div class="modal-body text-center">
|
<div class="modal-body text-center">
|
||||||
<p>{{_('Do you really want to restart Calibre-web?')}}</p>
|
<p>{{_('Do you really want to restart Calibre-web?')}}</p>
|
||||||
<button type="button" class="btn btn-default" id="restart" data-dismiss="modal">{{_('Ok')}}</button>
|
<div id="spinner" class="spinner" style="display:none;">
|
||||||
|
<img id="img-spinner" src="/static/css/images/loading-icon.gif"/>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<button type="button" class="btn btn-default" id="restart" >{{_('Ok')}}</button>
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="ShutdownDialog" class="modal fade" role="dialog">
|
<div id="ShutdownDialog" class="modal fade" role="dialog">
|
||||||
@ -114,5 +119,23 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="UpdateprogressDialog" class="modal fade" role="dialog">
|
||||||
|
<div class="modal-dialog modal-sm">
|
||||||
|
<!-- Modal content-->
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header bg-info text-center">
|
||||||
|
<span>{{_('Updating, please do not reload page')}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body text-center">
|
||||||
|
<div id="spinner2" class="spinner2" style="display:none;">
|
||||||
|
<img id="img-spinner" src="/static/css/images/loading-icon.gif"/>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<div id="Updatecontent"></div>
|
||||||
|
<p></p>
|
||||||
|
<button type="button" class="btn btn-default hidden" id="updateFinished" data-dismiss="modal">{{_('Ok')}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -52,18 +52,20 @@
|
|||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="{{url_for('index')}}">Calibre Web</a>
|
<a class="navbar-brand" href="{{url_for('index')}}">Calibre Web</a>
|
||||||
</div>
|
</div>
|
||||||
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
||||||
|
<form class="navbar-form navbar-left" role="search" action="{{url_for('search')}}" method="GET">
|
||||||
|
<div class="form-group input-group input-group-sm">
|
||||||
|
<input type="text" class="form-control" name="query" placeholder="{{_('Search')}}">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button type="submit" class="btn btn-default">{{_('Go!')}}</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% endif %}
|
||||||
<div class="navbar-collapse collapse">
|
<div class="navbar-collapse collapse">
|
||||||
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
||||||
<ul class="nav navbar-nav ">
|
<ul class="nav navbar-nav ">
|
||||||
<li>
|
<li><a href="{{url_for('advanced_search')}}"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm"> {{_('Advanced Search')}}</span></a></li>
|
||||||
<form class="navbar-form navbar-left" role="search" action="{{url_for('search')}}" method="GET">
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" name="query" placeholder="{{_('Search')}}">
|
|
||||||
</div>
|
|
||||||
<button type="submit" class="btn btn-default">{{_('Go!')}}</button>
|
|
||||||
</form>
|
|
||||||
</li>
|
|
||||||
<li><a href="{{url_for('advanced_search')}}"><span class="glyphicon glyphicon-search"></span> {{_('Advanced Search')}}</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<ul class="nav navbar-nav navbar-right" id="main-nav">
|
<ul class="nav navbar-nav navbar-right" id="main-nav">
|
||||||
@ -80,11 +82,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if g.user.role_admin() %}
|
{% if g.user.role_admin() %}
|
||||||
<li><a id="top_admin" href="{{url_for('admin')}}"><span class="glyphicon glyphicon-dashboard"></span> {{_('Admin')}}</a></li>
|
<li><a id="top_admin" href="{{url_for('admin')}}"><span class="glyphicon glyphicon-dashboard"></span><span class="hidden-sm"> {{_('Admin')}}</span></a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a id="top_user" href="{{url_for('profile')}}"><span class="glyphicon glyphicon-user"></span> {{g.user.nickname}}</a></li>
|
<li><a id="top_user" href="{{url_for('profile')}}"><span class="glyphicon glyphicon-user"></span><span class="hidden-sm"> {{g.user.nickname}}</span></a></li>
|
||||||
{% if not g.user.is_anonymous() %}
|
{% if not g.user.is_anonymous() %}
|
||||||
<li><a id="logout" href="{{url_for('logout')}}"><span class="glyphicon glyphicon-log-out"></span> {{_('Logout')}}</a></li>
|
<li><a id="logout" href="{{url_for('logout')}}"><span class="glyphicon glyphicon-log-out"></span><span class="hidden-sm"> {{_('Logout')}}</span></a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if g.allow_registration and not g.user.is_authenticated %}
|
{% if g.allow_registration and not g.user.is_authenticated %}
|
||||||
|
Binary file not shown.
@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Calibre-web\n"
|
"Project-Id-Version: Calibre-web\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
||||||
"POT-Creation-Date: 2017-02-10 20:17+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: 2016-07-12 19:54+0200\n"
|
"PO-Revision-Date: 2016-07-12 19:54+0200\n"
|
||||||
"Last-Translator: Ozzie Isaacs\n"
|
"Last-Translator: Ozzie Isaacs\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
@ -32,322 +32,347 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr "Nicht installiert"
|
msgstr "Nicht installiert"
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr "E-Mail: %s konnte nicht gesendet werden"
|
msgstr "E-Mail: %s konnte nicht gesendet werden"
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr "Calibre-web Test E-Mail"
|
msgstr "Calibre-web Test E-Mail"
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr "Die E-Mail wurde via calibre-web versendet"
|
msgstr "Die E-Mail wurde via calibre-web versendet"
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr "An Kindle senden"
|
msgstr "An Kindle senden"
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Konnte keine Formate finden welche für das versenden per E-Mail geeignet "
|
"Konnte keine Formate finden welche für das versenden per E-Mail geeignet "
|
||||||
"sind"
|
"sind"
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr "Konnte .epub nicht nach .mobi konvertieren"
|
msgstr "Konnte .epub nicht nach .mobi konvertieren"
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr "Die angeforderte Datei konnte nicht gelesen werden. Falsche Dateirechte?"
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr "Gast"
|
msgstr "Gast"
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr "Frage Update Paket an"
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr "Lade Update Paket herunter"
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr "Entpacke Update Paket"
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr "Ersetze Dateien"
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr "Schließe Datenbankverbindungen"
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr "Stoppe Server"
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr "Letzte Bücher"
|
msgstr "Letzte Bücher"
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr "Beliebte Bücher (die meisten Downloads)"
|
msgstr "Beliebte Bücher (die meisten Downloads)"
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr "Best bewertete Bücher"
|
msgstr "Best bewertete Bücher"
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr "Zufällige Bücher"
|
msgstr "Zufällige Bücher"
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr "Autorenliste"
|
msgstr "Autorenliste"
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr "Autor: %(name)s"
|
msgstr "Autor: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Buch öffnen fehlgeschlagen. Datei existiert nicht, oder ist nicht "
|
"Buch öffnen fehlgeschlagen. Datei existiert nicht, oder ist nicht "
|
||||||
"zugänglich."
|
"zugänglich."
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr "Liste Serien"
|
msgstr "Liste Serien"
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr "Serie: %(serie)s"
|
msgstr "Serie: %(serie)s"
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr "Verfügbare Sprachen"
|
msgstr "Verfügbare Sprachen"
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr "Sprache: %(name)s"
|
msgstr "Sprache: %(name)s"
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr "Kategorieliste"
|
msgstr "Kategorieliste"
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr "Kategorie: %(name)s"
|
msgstr "Kategorie: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr "Statistiken"
|
msgstr "Statistiken"
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr "Führe Neustart durch, bitte Seite neu laden"
|
msgstr "Server neu gestartet,bitte Seite neu laden"
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr "Server wird runtergefahren, bitte Fenster schließen"
|
msgstr "Server wird runtergefahren, bitte Fenster schließen"
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr "Update durchgeführt"
|
msgstr "Update durchgeführt"
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "Suche"
|
msgstr "Suche"
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr "Lese ein Buch"
|
msgstr "Lese ein Buch"
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr "Bitte alle Felder ausfüllen!"
|
msgstr "Bitte alle Felder ausfüllen!"
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr "Registieren"
|
msgstr "Registieren"
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
|
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr "Der Benutzername oder die E-Mailadresse ist in bereits in Benutzung."
|
msgstr "Der Benutzername oder die E-Mailadresse ist in bereits in Benutzung."
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
|
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr "Falscher Benutzername oder Passwort"
|
msgstr "Falscher Benutzername oder Passwort"
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "Login"
|
msgstr "Login"
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr "Bitte zuerst die SMTP Mail Einstellung konfigurieren ..."
|
msgstr "Bitte zuerst die SMTP Mail Einstellung konfigurieren ..."
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr "Buch erfolgreich versandt an %(kindlemail)s"
|
msgstr "Buch erfolgreich versandt an %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s"
|
msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr "Bitte die Kindle E-Mail Adresse zuuerst konfigurieren..."
|
msgstr "Bitte die Kindle E-Mail Adresse zuuerst konfigurieren..."
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr "Das Buch wurde dem Bücherregal: %(sname)s hinzugefügt"
|
msgstr "Das Buch wurde dem Bücherregal: %(sname)s hinzugefügt"
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt"
|
msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt"
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr "Es existiert bereits ein Bücheregal mit dem Titel '%(title)s'"
|
msgstr "Es existiert bereits ein Bücheregal mit dem Titel '%(title)s'"
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr "Bücherregal %(title)s erzeugt"
|
msgstr "Bücherregal %(title)s erzeugt"
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr "Es trat ein Fehler auf"
|
msgstr "Es trat ein Fehler auf"
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr "Bücherregal erzeugen"
|
msgstr "Bücherregal erzeugen"
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr "Bücherregal %(title)s verändert"
|
msgstr "Bücherregal %(title)s verändert"
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr "Bücherregal editieren"
|
msgstr "Bücherregal editieren"
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr "Bücherregal %(name)s erfolgreich gelöscht"
|
msgstr "Bücherregal %(name)s erfolgreich gelöscht"
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr "Bücherregal: '%(name)s'"
|
msgstr "Bücherregal: '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr "Reihenfolge in Bücherregal '%(name)s' verändern"
|
msgstr "Reihenfolge in Bücherregal '%(name)s' verändern"
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr "Es existiert ein Benutzerkonto für diese E-Mailadresse"
|
msgstr "Es existiert ein Benutzerkonto für diese E-Mailadresse"
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr "%(name)s's Profil"
|
msgstr "%(name)s's Profil"
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr "Profil aktualisiert"
|
msgstr "Profil aktualisiert"
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr "Admin Seite"
|
msgstr "Admin Seite"
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr "Calibre-web Konfiguration wurde aktualisiert"
|
msgstr "Calibre-web Konfiguration wurde aktualisiert"
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr "Basis Konfiguration"
|
msgstr "Basis Konfiguration"
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr "DB Speicherort ist ungültig, bitte Pfad korrigieren"
|
msgstr "DB Speicherort ist ungültig, bitte Pfad korrigieren"
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr "Neuen Benutzer hinzufügen"
|
msgstr "Neuen Benutzer hinzufügen"
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr "Benutzer '%(user)s' angelegt"
|
msgstr "Benutzer '%(user)s' angelegt"
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Es existiert ein Benutzerkonto für diese Emailadresse oder den "
|
"Es existiert ein Benutzerkonto für diese Emailadresse oder den "
|
||||||
"Benutzernamen."
|
"Benutzernamen."
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr "E-Mail Einstellungen aktualisiert"
|
msgstr "E-Mail Einstellungen aktualisiert"
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr "Test E-Mail erfolgreich an %(kindlemail)s versendet"
|
msgstr "Test E-Mail erfolgreich an %(kindlemail)s versendet"
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr "Fehler beim versenden der Test E-Mail: %(res)s"
|
msgstr "Fehler beim versenden der Test E-Mail: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr "E-Mail Einstellungen editieren"
|
msgstr "E-Mail Einstellungen editieren"
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr "Benutzer '%(nick)s' gelöscht"
|
msgstr "Benutzer '%(nick)s' gelöscht"
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr "Benutzer '%(nick)s' aktualisiert"
|
msgstr "Benutzer '%(nick)s' aktualisiert"
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr "Es ist ein unbekanter Fehler aufgetreten"
|
msgstr "Es ist ein unbekanter Fehler aufgetreten"
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr "Benutzer %(nick)s bearbeiten"
|
msgstr "Benutzer %(nick)s bearbeiten"
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr "Metadaten editieren"
|
msgstr "Metadaten editieren"
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr "Fehler beim Erzeugen des Pfads %s (Zugriff verweigert)"
|
msgstr "Fehler beim Erzeugen des Pfads %s (Zugriff verweigert)"
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr "Fehler beim speichern der Datei %s (Zugriff verweigert)"
|
msgstr "Fehler beim speichern der Datei %s (Zugriff verweigert)"
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr "Fehler beim Löschen von Datei %s (Zugriff verweigert)"
|
msgstr "Fehler beim Löschen von Datei %s (Zugriff verweigert)"
|
||||||
@ -356,145 +381,158 @@ msgstr "Fehler beim Löschen von Datei %s (Zugriff verweigert)"
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr "Benutzerliste"
|
msgstr "Benutzerliste"
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr "Benutzername"
|
msgstr "Benutzername"
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "E-Mail"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr "Kindle"
|
msgstr "Kindle"
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr "DLS"
|
msgstr "DLS"
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Download"
|
msgstr "Download"
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Hochladen"
|
msgstr "Hochladen"
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editieren"
|
msgstr "Editieren"
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr "Passwort"
|
msgstr "Passwort"
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr "SMTP Mail Einstellungen"
|
msgstr "SMTP Mail Einstellungen"
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr "SMTP Hostname"
|
msgstr "SMTP Hostname"
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr "SMTP Port"
|
msgstr "SMTP Port"
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr "SSL"
|
msgstr "SSL"
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr "SMTP Login"
|
msgstr "SMTP Login"
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr "SMTP Passwort"
|
msgstr "SMTP Passwort"
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr "Absenderadresse"
|
msgstr "Absenderadresse"
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr "SMTP Einstellungen ändern"
|
msgstr "SMTP Einstellungen ändern"
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr "Konfiguration"
|
msgstr "Konfiguration"
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr "Calibre DB Pfad"
|
msgstr "Calibre DB Pfad"
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr "Log Level"
|
msgstr "Log Level"
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr "Port"
|
msgstr "Port"
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr "Bücher pro Seite"
|
msgstr "Bücher pro Seite"
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr "Hochladen"
|
msgstr "Hochladen"
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr "Öffentliche Registrierung"
|
msgstr "Öffentliche Registrierung"
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr "Anonymer Zugriff"
|
msgstr "Anonymer Zugriff"
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr "Administration"
|
msgstr "Administration"
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
#: cps/templates/admin.html:80
|
||||||
|
msgid "Current commit timestamp"
|
||||||
|
msgstr "Aktuelles Commit Datum"
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr "Neuestes Commit Datum"
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
msgid "Restart Calibre-web"
|
msgid "Restart Calibre-web"
|
||||||
msgstr "Calibre-web Neustarten"
|
msgstr "Calibre-web Neustarten"
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:84
|
||||||
msgid "Stop Calibre-web"
|
msgid "Stop Calibre-web"
|
||||||
msgstr "Stoppe Calibre-web"
|
msgstr "Stoppe Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr "Suche nach Update"
|
msgstr "Suche nach Update"
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr "Update durchführen"
|
msgstr "Update durchführen"
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr "Calibre-web wirklich neustarten?"
|
msgstr "Calibre-web wirklich neustarten?"
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr "Ok"
|
msgstr "Ok"
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Zurück"
|
msgstr "Zurück"
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr "Calibre-web wirklich stoppen"
|
msgstr "Calibre-web wirklich stoppen"
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr "Updatevorgang, bitte Seite nicht neu laden"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Buchtitel"
|
msgstr "Buchtitel"
|
||||||
@ -511,7 +549,7 @@ msgstr "Beschreibung"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr "Serien"
|
msgstr "Serien"
|
||||||
@ -606,7 +644,7 @@ msgstr "Bearbeiten erlauben"
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr "Passwort ändern erlauben"
|
msgstr "Passwort ändern erlauben"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Login"
|
msgstr "Login"
|
||||||
@ -689,11 +727,11 @@ msgstr "Entdecke (Zufälliges Buch)"
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Start"
|
msgstr "Start"
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Suche"
|
msgstr "Suche"
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr "Beliebte Bücher"
|
msgstr "Beliebte Bücher"
|
||||||
|
|
||||||
@ -701,7 +739,7 @@ msgstr "Beliebte Bücher"
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr "Beliebte Publikationen aus dieser Bibliothek basierend auf Downloadzahlen"
|
msgstr "Beliebte Publikationen aus dieser Bibliothek basierend auf Downloadzahlen"
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr "Best bewertete Bücher"
|
msgstr "Best bewertete Bücher"
|
||||||
|
|
||||||
@ -709,7 +747,7 @@ msgstr "Best bewertete Bücher"
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr "Beliebte Veröffentlichungen dieses Katalogs basierend auf Bewertungen"
|
msgstr "Beliebte Veröffentlichungen dieses Katalogs basierend auf Bewertungen"
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr "Neue Bücher"
|
msgstr "Neue Bücher"
|
||||||
|
|
||||||
@ -721,7 +759,7 @@ msgstr "Die neuesten Bücher"
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr "Zeige zufällige Bücher"
|
msgstr "Zeige zufällige Bücher"
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr "Autoren"
|
msgstr "Autoren"
|
||||||
|
|
||||||
@ -741,51 +779,51 @@ msgstr "Bücher nach Reihen geordnet"
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr "Nagivation umschalten"
|
msgstr "Nagivation umschalten"
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr "Los!"
|
msgstr "Los!"
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr "Erweiterte Suche"
|
msgstr "Erweiterte Suche"
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Logout"
|
msgstr "Logout"
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr "Registrieren"
|
msgstr "Registrieren"
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Browsen"
|
msgstr "Browsen"
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr "Entdecke"
|
msgstr "Entdecke"
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr "Kategorien"
|
msgstr "Kategorien"
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr "Sprachen"
|
msgstr "Sprachen"
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr "Öffentiche Bücherregale"
|
msgstr "Öffentiche Bücherregale"
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr "Deine Bücherregale"
|
msgstr "Deine Bücherregale"
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr "Bücherregal erzeugen"
|
msgstr "Bücherregal erzeugen"
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Über"
|
msgstr "Über"
|
||||||
|
|
||||||
|
Binary file not shown.
@ -14,7 +14,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Calibre-web\n"
|
"Project-Id-Version: Calibre-web\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
||||||
"POT-Creation-Date: 2017-02-10 20:17+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: 2016-11-13 18:35+0100\n"
|
"PO-Revision-Date: 2016-11-13 18:35+0100\n"
|
||||||
"Last-Translator: Juan F. Villa <juan.villa@paisdelconocimiento.org>\n"
|
"Last-Translator: Juan F. Villa <juan.villa@paisdelconocimiento.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -25,316 +25,341 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr "No instalado"
|
msgstr "No instalado"
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr "Fallo al enviar el correo : %s"
|
msgstr "Fallo al enviar el correo : %s"
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr "Prueba de Correo Calibre-web"
|
msgstr "Prueba de Correo Calibre-web"
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr "Este mensaje ha sido enviado via Calibre Web."
|
msgstr "Este mensaje ha sido enviado via Calibre Web."
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr "Enviar a Kindle"
|
msgstr "Enviar a Kindle"
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr "Formato no compatible para enviar por correo electronico"
|
msgstr "Formato no compatible para enviar por correo electronico"
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr "No fue posible convertir de epub a mobi"
|
msgstr "No fue posible convertir de epub a mobi"
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr "El fichero solicitado no puede ser leido. Problema de permisos?"
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr "Libros recientes"
|
msgstr "Libros recientes"
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr "Libros Populares (los mas descargados)"
|
msgstr "Libros Populares (los mas descargados)"
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr "Libros al Azar"
|
msgstr "Libros al Azar"
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr "Lista de Autores"
|
msgstr "Lista de Autores"
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr "Error en apertura del Objeto. El archivo no existe o no es accesible"
|
msgstr "Error en apertura del Objeto. El archivo no existe o no es accesible"
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr "lista de Series"
|
msgstr "lista de Series"
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr "Series : %(serie)s"
|
msgstr "Series : %(serie)s"
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr "Lenguajes disponibles"
|
msgstr "Lenguajes disponibles"
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr "Lenguaje: %(name)s"
|
msgstr "Lenguaje: %(name)s"
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr "Lista de Categorias"
|
msgstr "Lista de Categorias"
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr "Categoria : %(name)s"
|
msgstr "Categoria : %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr "Estadisticas"
|
msgstr "Estadisticas"
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr "Leer un Libro"
|
msgstr "Leer un Libro"
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr "Por favor llenar todos los campos!"
|
msgstr "Por favor llenar todos los campos!"
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr "Registrarse"
|
msgstr "Registrarse"
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr "Ocurrio un error. Intentar de nuevo mas tarde."
|
msgstr "Ocurrio un error. Intentar de nuevo mas tarde."
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr "Usuario o direccion de correo en uso."
|
msgstr "Usuario o direccion de correo en uso."
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr "Sesion iniciada como : '%(nickname)s'"
|
msgstr "Sesion iniciada como : '%(nickname)s'"
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr "Usuario o contraseña invalido"
|
msgstr "Usuario o contraseña invalido"
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "Iniciar Sesion"
|
msgstr "Iniciar Sesion"
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr "Configurar primero los parametros SMTP por favor..."
|
msgstr "Configurar primero los parametros SMTP por favor..."
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr "Envio de Libro a %(kindlemail)s correctamente"
|
msgstr "Envio de Libro a %(kindlemail)s correctamente"
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr "Ha sucedido un error en el envio del Libro: %(res)s"
|
msgstr "Ha sucedido un error en el envio del Libro: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr "Configurar primero la dirección de correo Kindle por favor..."
|
msgstr "Configurar primero la dirección de correo Kindle por favor..."
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr "El libro fue agregado a el estante: %(sname)s"
|
msgstr "El libro fue agregado a el estante: %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr "El libro fue removido del estante: %(sname)s"
|
msgstr "El libro fue removido del estante: %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
|
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr "Estante %(title)s creado"
|
msgstr "Estante %(title)s creado"
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr "Hemos tenido un error"
|
msgstr "Hemos tenido un error"
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr "Crear un Estante"
|
msgstr "Crear un Estante"
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr "Estante %(name)s fue borrado correctamente"
|
msgstr "Estante %(name)s fue borrado correctamente"
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr "Estante: '%(name)s'"
|
msgstr "Estante: '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr "Existe una cuenta vinculada a esta cuenta de correo."
|
msgstr "Existe una cuenta vinculada a esta cuenta de correo."
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr "Perfil de %(name)s"
|
msgstr "Perfil de %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr "Perfil actualizado"
|
msgstr "Perfil actualizado"
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr "Agregar un nuevo usuario"
|
msgstr "Agregar un nuevo usuario"
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr "Usuario '%(user)s' creado"
|
msgstr "Usuario '%(user)s' creado"
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr "Se ha encontrado una cuenta vinculada a esta cuenta de correo o usuario."
|
msgstr "Se ha encontrado una cuenta vinculada a esta cuenta de correo o usuario."
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr "Parametros de correo actualizados"
|
msgstr "Parametros de correo actualizados"
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr "Exito al realizar envio de prueba a %(kindlemail)s"
|
msgstr "Exito al realizar envio de prueba a %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr "Error al realizar envio de prueba a E-Mail: %(res)s"
|
msgstr "Error al realizar envio de prueba a E-Mail: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr "Editar parametros de correo"
|
msgstr "Editar parametros de correo"
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr "Usuario '%(nick)s' borrado"
|
msgstr "Usuario '%(nick)s' borrado"
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr "Usuario '%(nick)s' Actualizado"
|
msgstr "Usuario '%(nick)s' Actualizado"
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr "Oups ! Error inesperado."
|
msgstr "Oups ! Error inesperado."
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr "Editar Usuario %(nick)s"
|
msgstr "Editar Usuario %(nick)s"
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr "Fallo al crear la ruta %s (permiso negado)"
|
msgstr "Fallo al crear la ruta %s (permiso negado)"
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr "Fallo al almacenar el archivo %s (permiso negado)"
|
msgstr "Fallo al almacenar el archivo %s (permiso negado)"
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr "Fallo al borrar el archivo %s (permiso negado)"
|
msgstr "Fallo al borrar el archivo %s (permiso negado)"
|
||||||
@ -343,145 +368,158 @@ msgstr "Fallo al borrar el archivo %s (permiso negado)"
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr "lista de usuarios"
|
msgstr "lista de usuarios"
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr "Nickname"
|
msgstr "Nickname"
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Correo"
|
msgstr "Correo"
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr "Kindle"
|
msgstr "Kindle"
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr "DLS"
|
msgstr "DLS"
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administracion"
|
msgstr "Administracion"
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Descarga"
|
msgstr "Descarga"
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Subir archivo"
|
msgstr "Subir archivo"
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editar"
|
msgstr "Editar"
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr "Clave"
|
msgstr "Clave"
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr "Parametros smtp del correo"
|
msgstr "Parametros smtp del correo"
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr "Servidor smtp"
|
msgstr "Servidor smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr "Puerto smtp"
|
msgstr "Puerto smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr "SSL"
|
msgstr "SSL"
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr "Login SMTP"
|
msgstr "Login SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr "Clave SMTP"
|
msgstr "Clave SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr "Desde el correo"
|
msgstr "Desde el correo"
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr "Cambiar parametros smtp"
|
msgstr "Cambiar parametros smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
|
||||||
msgid "Restart Calibre-web"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:80
|
||||||
msgid "Stop Calibre-web"
|
msgid "Current commit timestamp"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
|
msgid "Restart Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:84
|
||||||
|
msgid "Stop Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Regresar"
|
msgstr "Regresar"
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Titulo del Libro"
|
msgstr "Titulo del Libro"
|
||||||
@ -498,7 +536,7 @@ msgstr "Descripcion"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiqueta"
|
msgstr "Etiqueta"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr "Series"
|
msgstr "Series"
|
||||||
@ -593,7 +631,7 @@ msgstr "Permitir editar"
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr "Permitir cambiar la clave"
|
msgstr "Permitir cambiar la clave"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Inicio de Sesion"
|
msgstr "Inicio de Sesion"
|
||||||
@ -674,11 +712,11 @@ msgstr "Descubrir (Libros al azar)"
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Iniciar"
|
msgstr "Iniciar"
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Buscar"
|
msgstr "Buscar"
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr "Libros Populares"
|
msgstr "Libros Populares"
|
||||||
|
|
||||||
@ -686,7 +724,7 @@ msgstr "Libros Populares"
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -694,7 +732,7 @@ msgstr ""
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr "Publicaciones populares del catalogo basados en el puntaje."
|
msgstr "Publicaciones populares del catalogo basados en el puntaje."
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr "Nuevos Libros"
|
msgstr "Nuevos Libros"
|
||||||
|
|
||||||
@ -706,7 +744,7 @@ msgstr "Libros Recientes"
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr "Mostrar libros al azar"
|
msgstr "Mostrar libros al azar"
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr "Autores"
|
msgstr "Autores"
|
||||||
|
|
||||||
@ -726,51 +764,51 @@ msgstr "Libros ordenados por Series"
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr "Vamos!"
|
msgstr "Vamos!"
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr "Busqueda avanzada"
|
msgstr "Busqueda avanzada"
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Cerrar Sesion"
|
msgstr "Cerrar Sesion"
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr "Registro"
|
msgstr "Registro"
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Explorar"
|
msgstr "Explorar"
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr "Descubrir"
|
msgstr "Descubrir"
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr "Categoria"
|
msgstr "Categoria"
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr "Lenguaje"
|
msgstr "Lenguaje"
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr "Estantes Publicos"
|
msgstr "Estantes Publicos"
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr "Sus Estantes"
|
msgstr "Sus Estantes"
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr "Crear un estante"
|
msgstr "Crear un estante"
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Acerca de"
|
msgstr "Acerca de"
|
||||||
|
|
||||||
@ -789,7 +827,7 @@ msgid "Remember me"
|
|||||||
msgstr "Recordarme"
|
msgstr "Recordarme"
|
||||||
|
|
||||||
#: cps/templates/osd.xml:5
|
#: cps/templates/osd.xml:5
|
||||||
msgid "instanceCalibre Web ebook catalog"
|
msgid "Calibre Web ebook catalog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/read.html:136
|
#: cps/templates/read.html:136
|
||||||
|
Binary file not shown.
@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Calibre-web\n"
|
"Project-Id-Version: Calibre-web\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
||||||
"POT-Creation-Date: 2017-02-10 20:17+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: 2016-11-13 18:35+0100\n"
|
"PO-Revision-Date: 2016-11-13 18:35+0100\n"
|
||||||
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
|
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@ -31,320 +31,343 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr "Impossible d'envoyer le courriel : %s"
|
msgstr "Impossible d'envoyer le courriel : %s"
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr "Ce message a été envoyé depuis calibre web."
|
msgstr "Ce message a été envoyé depuis calibre web."
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr "Envoyer ver Kindle"
|
msgstr "Envoyer ver Kindle"
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr "Impossible de trouver un format adapté à envoyer par courriel"
|
msgstr "Impossible de trouver un format adapté à envoyer par courriel"
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr "Impossible de convertir epub vers mobi"
|
msgstr "Impossible de convertir epub vers mobi"
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr ""
|
|
||||||
"Le fichier demandé ne peux pas être lu. Peut-être de mauvaises "
|
|
||||||
"permissions ?"
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr "Derniers livres"
|
msgstr "Derniers livres"
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr "Livres populaires (les plus téléchargés)"
|
msgstr "Livres populaires (les plus téléchargés)"
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr "Livres au hasard"
|
msgstr "Livres au hasard"
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr "Liste des auteurs"
|
msgstr "Liste des auteurs"
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est "
|
"Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est "
|
||||||
"pas accessible :"
|
"pas accessible :"
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr "Liste des séries"
|
msgstr "Liste des séries"
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr "Séries : %(serie)s"
|
msgstr "Séries : %(serie)s"
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr "Langues disponibles"
|
msgstr "Langues disponibles"
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr "Langue : %(name)s"
|
msgstr "Langue : %(name)s"
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr "Liste des catégories"
|
msgstr "Liste des catégories"
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr "Catégorie : %(name)s"
|
msgstr "Catégorie : %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr "Statistiques"
|
msgstr "Statistiques"
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr "Lire un livre"
|
msgstr "Lire un livre"
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr "SVP, complétez tous les champs !"
|
msgstr "SVP, complétez tous les champs !"
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr "S'enregistrer"
|
msgstr "S'enregistrer"
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr "Une erreur a eu lieu. Merci de réessayez plus tard."
|
msgstr "Une erreur a eu lieu. Merci de réessayez plus tard."
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr "Ce nom d'utilisateur ou cette adresse de courriel est déjà utilisée."
|
msgstr "Ce nom d'utilisateur ou cette adresse de courriel est déjà utilisée."
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'"
|
msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'"
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr "Mauvais nom d'utilisateur ou mot de passe"
|
msgstr "Mauvais nom d'utilisateur ou mot de passe"
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "Connexion"
|
msgstr "Connexion"
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr "Veillez configurer les paramètres smtp d'abord..."
|
msgstr "Veillez configurer les paramètres smtp d'abord..."
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr "Livres envoyés à %(kindlemail)s avec succès"
|
msgstr "Livres envoyés à %(kindlemail)s avec succès"
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s"
|
msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr "Veuillez configurer votre adresse kindle d'abord..."
|
msgstr "Veuillez configurer votre adresse kindle d'abord..."
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s"
|
msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr "Le livre a été supprimé de l'étagère %(sname)s"
|
msgstr "Le livre a été supprimé de l'étagère %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
|
msgstr "Une étagère de ce nom '%(title)s' existe déjà."
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr "Étagère %(title)s créée"
|
msgstr "Étagère %(title)s créée"
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr "Il y a eu une erreur"
|
msgstr "Il y a eu une erreur"
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr "Créer une étagère"
|
msgstr "Créer une étagère"
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr "L'étagère %(name)s a été supprimé avec succès"
|
msgstr "L'étagère %(name)s a été supprimé avec succès"
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr "Étagère : '%(name)s'"
|
msgstr "Étagère : '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr "Un compte avec cette adresse de courriel existe déjà."
|
msgstr "Un compte avec cette adresse de courriel existe déjà."
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr "Profil de %(name)s"
|
msgstr "Profil de %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr "Profil mis à jour"
|
msgstr "Profil mis à jour"
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr "Ajouter un nouvel utilisateur"
|
msgstr "Ajouter un nouvel utilisateur"
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr "Utilisateur '%(user)s' créé"
|
msgstr "Utilisateur '%(user)s' créé"
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr "Un compte avec cette adresse de courriel ou ce surnom existe déjà."
|
msgstr "Un compte avec cette adresse de courriel ou ce surnom existe déjà."
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr "Paramètres de courriel mis à jour"
|
msgstr "Paramètres de courriel mis à jour"
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr "Éditer les paramètres de courriel"
|
msgstr "Éditer les paramètres de courriel"
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr "Utilisateur '%(nick)s' supprimé"
|
msgstr "Utilisateur '%(nick)s' supprimé"
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr "Utilisateur '%(nick)s' mis à jour"
|
msgstr "Utilisateur '%(nick)s' mis à jour"
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr "Oups ! Une erreur inconnue a eu lieu."
|
msgstr "Oups ! Une erreur inconnue a eu lieu."
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr "Éditer l'utilisateur %(nick)s"
|
msgstr "Éditer l'utilisateur %(nick)s"
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr "Impossible de créer le chemin %s (permission refusée)"
|
msgstr "Impossible de créer le chemin %s (permission refusée)"
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr "Impossible d'enregistrer le fichier %s (permission refusée)"
|
msgstr "Impossible d'enregistrer le fichier %s (permission refusée)"
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr "Impossible de supprimer le fichier %s (permission refusée)"
|
msgstr "Impossible de supprimer le fichier %s (permission refusée)"
|
||||||
@ -353,145 +376,158 @@ msgstr "Impossible de supprimer le fichier %s (permission refusée)"
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr "Liste des ustilisateurs"
|
msgstr "Liste des ustilisateurs"
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr "Surnom"
|
msgstr "Surnom"
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Courriel"
|
msgstr "Courriel"
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr "Kindle"
|
msgstr "Kindle"
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr "DLS"
|
msgstr "DLS"
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administration"
|
msgstr "Administration"
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Télécharger"
|
msgstr "Télécharger"
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Téléverser"
|
msgstr "Téléverser"
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Éditer"
|
msgstr "Éditer"
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr "Mot de passe"
|
msgstr "Mot de passe"
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr "Paramètres smtp"
|
msgstr "Paramètres smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr "Serveur smtp"
|
msgstr "Serveur smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr "Port smtp"
|
msgstr "Port smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr "SSL"
|
msgstr "SSL"
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr "Login smtp"
|
msgstr "Login smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr "Mot de passe smtp"
|
msgstr "Mot de passe smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr "Expéditeur des courriels"
|
msgstr "Expéditeur des courriels"
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr "Changer les paramètre smtp"
|
msgstr "Changer les paramètre smtp"
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
|
||||||
msgid "Restart Calibre-web"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:80
|
||||||
msgid "Stop Calibre-web"
|
msgid "Current commit timestamp"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
|
msgid "Restart Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:84
|
||||||
|
msgid "Stop Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Retour"
|
msgstr "Retour"
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Titre du livre"
|
msgstr "Titre du livre"
|
||||||
@ -508,7 +544,7 @@ msgstr "Description"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Étiquette"
|
msgstr "Étiquette"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr "Séries"
|
msgstr "Séries"
|
||||||
@ -603,7 +639,7 @@ msgstr "Permettre l'édition"
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr "Permettre le changement de mot de passe"
|
msgstr "Permettre le changement de mot de passe"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Connexion"
|
msgstr "Connexion"
|
||||||
@ -684,11 +720,11 @@ msgstr "Découverte (livres au hasard)"
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Démarrer"
|
msgstr "Démarrer"
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Chercher"
|
msgstr "Chercher"
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr "Livres populaires"
|
msgstr "Livres populaires"
|
||||||
|
|
||||||
@ -696,7 +732,7 @@ msgstr "Livres populaires"
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -704,7 +740,7 @@ msgstr ""
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr "Publications populaires de ce catalogue sur la base de notes."
|
msgstr "Publications populaires de ce catalogue sur la base de notes."
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr "Nouveaux livres"
|
msgstr "Nouveaux livres"
|
||||||
|
|
||||||
@ -716,7 +752,7 @@ msgstr "Les derniers livres"
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr "Montrer des livres au hasard"
|
msgstr "Montrer des livres au hasard"
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr "Auteurs"
|
msgstr "Auteurs"
|
||||||
|
|
||||||
@ -736,51 +772,51 @@ msgstr "Livres classés par série"
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr "Basculer la navigation"
|
msgstr "Basculer la navigation"
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr "Allez !"
|
msgstr "Allez !"
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr "Recherche avancée"
|
msgstr "Recherche avancée"
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Déconnexion"
|
msgstr "Déconnexion"
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr "S'enregistrer"
|
msgstr "S'enregistrer"
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Explorer"
|
msgstr "Explorer"
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr "Découvrir"
|
msgstr "Découvrir"
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr "Catégories"
|
msgstr "Catégories"
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr "Langues"
|
msgstr "Langues"
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr "Étagères publiques"
|
msgstr "Étagères publiques"
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr "Vos étagères"
|
msgstr "Vos étagères"
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr "Créer une étagère"
|
msgstr "Créer une étagère"
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "À popos"
|
msgstr "À popos"
|
||||||
|
|
||||||
@ -799,7 +835,7 @@ msgid "Remember me"
|
|||||||
msgstr "Se rappeler de moi"
|
msgstr "Se rappeler de moi"
|
||||||
|
|
||||||
#: cps/templates/osd.xml:5
|
#: cps/templates/osd.xml:5
|
||||||
msgid "instanceCalibre Web ebook catalog"
|
msgid "Calibre Web ebook catalog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/read.html:136
|
#: cps/templates/read.html:136
|
||||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Calibre Web - polski (170210.2017)\n"
|
"Project-Id-Version: Calibre Web - polski (170210.2017)\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2017-02-12 08:13+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: 2017-02-11 15:56+0100\n"
|
"PO-Revision-Date: 2017-02-11 15:56+0100\n"
|
||||||
"Last-Translator: Radosław Kierznowski <radek.kierznowski@outlook.com>\n"
|
"Last-Translator: Radosław Kierznowski <radek.kierznowski@outlook.com>\n"
|
||||||
"Language: pl\n"
|
"Language: pl\n"
|
||||||
@ -20,318 +20,343 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr "nie zainstalowane"
|
msgstr "nie zainstalowane"
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr "Nie można wysłać poczty: %s"
|
msgstr "Nie można wysłać poczty: %s"
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr "Calibre-web testowy email"
|
msgstr "Calibre-web testowy email"
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr "Ten e-mail został wysłany za pośrednictwem calibre web."
|
msgstr "Ten e-mail został wysłany za pośrednictwem calibre web."
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr "Wyślij do Kindle"
|
msgstr "Wyślij do Kindle"
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nie można znaleźć żadnych formatów przystosowane do wysyłania pocztą "
|
"Nie można znaleźć żadnych formatów przystosowane do wysyłania pocztą "
|
||||||
"e-mail"
|
"e-mail"
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr "Nie można konwertować epub do mobi"
|
msgstr "Nie można konwertować epub do mobi"
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr "Żądany plik nie może być odczytany. Może złe uprawnienia?"
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr "Gość"
|
msgstr "Gość"
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr "Najnowsze książki"
|
msgstr "Najnowsze książki"
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
|
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr "Najlepiej oceniane książki"
|
msgstr "Najlepiej oceniane książki"
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr "Losowe książki"
|
msgstr "Losowe książki"
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr "Lista autorów"
|
msgstr "Lista autorów"
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr "Autor: %(name)s"
|
msgstr "Autor: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr "Błąd otwierania e-booka. Plik nie istnieje lub plik nie jest dostępny:"
|
msgstr "Błąd otwierania e-booka. Plik nie istnieje lub plik nie jest dostępny:"
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr "Lista serii"
|
msgstr "Lista serii"
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr "Serie: %(serie)s"
|
msgstr "Serie: %(serie)s"
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr "Dostępne języki"
|
msgstr "Dostępne języki"
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr "Język: %(name)s"
|
msgstr "Język: %(name)s"
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr "Lista kategorii"
|
msgstr "Lista kategorii"
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr "Kategoria: %(name)s"
|
msgstr "Kategoria: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr "Statystyki"
|
msgstr "Statystyki"
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr "Wykonano ponowne uruchomienie, proszę odświeżyć stronę"
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
|
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr "Aktualizacja zakończona"
|
msgstr "Aktualizacja zakończona"
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "szukaj"
|
msgstr "szukaj"
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr "Czytaj książkę"
|
msgstr "Czytaj książkę"
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr "Proszę wypełnić wszystkie pola!"
|
msgstr "Proszę wypełnić wszystkie pola!"
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr "rejestracja"
|
msgstr "rejestracja"
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
|
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr "Nazwa użytkownika lub adres e-mail jest już w użyciu."
|
msgstr "Nazwa użytkownika lub adres e-mail jest już w użyciu."
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr "Zalogowałeś się jako: '%(nickname)s'"
|
msgstr "Zalogowałeś się jako: '%(nickname)s'"
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr "Błędna nazwa użytkownika lub hasło"
|
msgstr "Błędna nazwa użytkownika lub hasło"
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "logowanie"
|
msgstr "logowanie"
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
|
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr "Książka została pomyślnie wysłana do %(kindlemail)s"
|
msgstr "Książka została pomyślnie wysłana do %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s"
|
msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr "Proszę najpierw skonfigurować adres e-mail swojego kindla..."
|
msgstr "Proszę najpierw skonfigurować adres e-mail swojego kindla..."
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr "Książka została dodana do półki: %(sname)s"
|
msgstr "Książka została dodana do półki: %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr "Książka została usunięta z półki: %(sname)s"
|
msgstr "Książka została usunięta z półki: %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr "Półka o nazwie '%(title)s' już istnieje."
|
msgstr "Półka o nazwie '%(title)s' już istnieje."
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr "Półka %(title)s została utworzona"
|
msgstr "Półka %(title)s została utworzona"
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr "Wystąpił błąd"
|
msgstr "Wystąpił błąd"
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr "utwórz półkę"
|
msgstr "utwórz półkę"
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr "Półka %(title)s została zmieniona"
|
msgstr "Półka %(title)s została zmieniona"
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr "Edytuj półkę"
|
msgstr "Edytuj półkę"
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr "pomyślnie usunięto półkę %(name)s"
|
msgstr "pomyślnie usunięto półkę %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr "Półka: '%(name)s'"
|
msgstr "Półka: '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr "Zmieniono kolejność półki: '%(name)s'"
|
msgstr "Zmieniono kolejność półki: '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
|
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr "Profil użytkownika %(name)s"
|
msgstr "Profil użytkownika %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr "Zaktualizowano profil"
|
msgstr "Zaktualizowano profil"
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr "Portal administracyjny"
|
msgstr "Portal administracyjny"
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr "Konfiguracja Calibre-web została zaktualizowana"
|
msgstr "Konfiguracja Calibre-web została zaktualizowana"
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr "Podstawowa konfiguracja"
|
msgstr "Podstawowa konfiguracja"
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr "Lokalizacja bazy danych nie jest prawidłowa, wpisz poprawną ścieżkę"
|
msgstr "Lokalizacja bazy danych nie jest prawidłowa, wpisz poprawną ścieżkę"
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr "Dodaj nowego użytkownika"
|
msgstr "Dodaj nowego użytkownika"
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr "Użytkownik '%(user)s' został utworzony"
|
msgstr "Użytkownik '%(user)s' został utworzony"
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy użytkownika."
|
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy użytkownika."
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr "Zaktualizowano ustawienia poczty e-mail"
|
msgstr "Zaktualizowano ustawienia poczty e-mail"
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr "Testowy e-mail pomyślnie wysłany do %(kindlemail)s"
|
msgstr "Testowy e-mail pomyślnie wysłany do %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr "Wystąpił błąd podczas wysyłania testowej wiadomości e-mail: %(res)s"
|
msgstr "Wystąpił błąd podczas wysyłania testowej wiadomości e-mail: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr "Edytuj ustawienia poczty e-mail"
|
msgstr "Edytuj ustawienia poczty e-mail"
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr "Użytkownik '%(nick)s' został usunięty"
|
msgstr "Użytkownik '%(nick)s' został usunięty"
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
|
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr "Wystąpił nieznany błąd."
|
msgstr "Wystąpił nieznany błąd."
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr "Edytuj użytkownika %(nick)s"
|
msgstr "Edytuj użytkownika %(nick)s"
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr "edytuj metadane"
|
msgstr "edytuj metadane"
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)."
|
msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)."
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)."
|
msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)."
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)."
|
msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)."
|
||||||
@ -340,145 +365,158 @@ msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)."
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr "Lista użytkowników"
|
msgstr "Lista użytkowników"
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr "Nazwa użytkownika"
|
msgstr "Nazwa użytkownika"
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "Email"
|
msgstr "Email"
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr "Kindle"
|
msgstr "Kindle"
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr "DLS"
|
msgstr "DLS"
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Portal administracyjny"
|
msgstr "Portal administracyjny"
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Pobierz"
|
msgstr "Pobierz"
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Wyślij"
|
msgstr "Wyślij"
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Edycja"
|
msgstr "Edycja"
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr "Zmiana hasła"
|
msgstr "Zmiana hasła"
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr "Ustawienia poczty SMTP"
|
msgstr "Ustawienia poczty SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr "Adres serwera SMTP"
|
msgstr "Adres serwera SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr "Port serwera SMTP"
|
msgstr "Port serwera SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr "SSL"
|
msgstr "SSL"
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr "Nazwa użytkownika SMTP"
|
msgstr "Nazwa użytkownika SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr "Hasło SMTP"
|
msgstr "Hasło SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr "Wyślij z adresu e-mail"
|
msgstr "Wyślij z adresu e-mail"
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr "Zmień ustawienia SMTP"
|
msgstr "Zmień ustawienia SMTP"
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr "Konfiguracja"
|
msgstr "Konfiguracja"
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr "Folder bazy danych Calibre"
|
msgstr "Folder bazy danych Calibre"
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr "Poziom logów"
|
msgstr "Poziom logów"
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr "Port"
|
msgstr "Port"
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr "Ilość książek na stronie"
|
msgstr "Ilość książek na stronie"
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr "Wysyłanie"
|
msgstr "Wysyłanie"
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr "Publiczna rejestracja"
|
msgstr "Publiczna rejestracja"
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr "Anonimowe przeglądanie"
|
msgstr "Anonimowe przeglądanie"
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr "Zarządzanie"
|
msgstr "Zarządzanie"
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
#: cps/templates/admin.html:80
|
||||||
|
msgid "Current commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
msgid "Restart Calibre-web"
|
msgid "Restart Calibre-web"
|
||||||
msgstr "Uruchom ponownie Calibre-web"
|
msgstr "Uruchom ponownie Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:84
|
||||||
msgid "Stop Calibre-web"
|
msgid "Stop Calibre-web"
|
||||||
msgstr "Zatrzymaj Calibre-web"
|
msgstr "Zatrzymaj Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr "Sprawdź aktualizacje"
|
msgstr "Sprawdź aktualizacje"
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr "Wykonaj aktualizację"
|
msgstr "Wykonaj aktualizację"
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr "Na pewno chcesz uruchomić ponownie Calibre-web?"
|
msgstr "Na pewno chcesz uruchomić ponownie Calibre-web?"
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr "Ok"
|
msgstr "Ok"
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Wróć"
|
msgstr "Wróć"
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr "Na pewno chcesz zatrzymać Calibre-web?"
|
msgstr "Na pewno chcesz zatrzymać Calibre-web?"
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "Tytuł książki"
|
msgstr "Tytuł książki"
|
||||||
@ -495,7 +533,7 @@ msgstr "Opis"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagi"
|
msgstr "Tagi"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr "Serie"
|
msgstr "Serie"
|
||||||
@ -590,7 +628,7 @@ msgstr "Zezwalaj na edycję"
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr "Zezwalaj na zmianę hasła"
|
msgstr "Zezwalaj na zmianę hasła"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Zaloguj się"
|
msgstr "Zaloguj się"
|
||||||
@ -673,11 +711,11 @@ msgstr "Odkrywaj (losowe książki)"
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "Rozpocznij"
|
msgstr "Rozpocznij"
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Szukaj"
|
msgstr "Szukaj"
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr "Najpopularniejsze książki"
|
msgstr "Najpopularniejsze książki"
|
||||||
|
|
||||||
@ -685,7 +723,7 @@ msgstr "Najpopularniejsze książki"
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr "Popularne publikacje z tego katalogu bazujące na pobieraniach."
|
msgstr "Popularne publikacje z tego katalogu bazujące na pobieraniach."
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr "Najlepiej ocenione książki"
|
msgstr "Najlepiej ocenione książki"
|
||||||
|
|
||||||
@ -693,7 +731,7 @@ msgstr "Najlepiej ocenione książki"
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr "Popularne publikacje z tego katalogu bazujące na ocenach."
|
msgstr "Popularne publikacje z tego katalogu bazujące na ocenach."
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr "Nowe książki"
|
msgstr "Nowe książki"
|
||||||
|
|
||||||
@ -705,7 +743,7 @@ msgstr "Ostatnie książki"
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr "Pokazuj losowe książki"
|
msgstr "Pokazuj losowe książki"
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr "Autorzy"
|
msgstr "Autorzy"
|
||||||
|
|
||||||
@ -725,51 +763,51 @@ msgstr "Książki sortowane według serii"
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr "Przełącz nawigację"
|
msgstr "Przełącz nawigację"
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr "Idź!"
|
msgstr "Idź!"
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr "Zaawansowane wyszukiwanie"
|
msgstr "Zaawansowane wyszukiwanie"
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Wyloguj się"
|
msgstr "Wyloguj się"
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr "Zarejestruj się"
|
msgstr "Zarejestruj się"
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Przeglądaj"
|
msgstr "Przeglądaj"
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr "Odkrywaj"
|
msgstr "Odkrywaj"
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr "Kategorie"
|
msgstr "Kategorie"
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr "Języki"
|
msgstr "Języki"
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr "Publiczne półki"
|
msgstr "Publiczne półki"
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr "Twoje półki"
|
msgstr "Twoje półki"
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr "Utwórz półkę"
|
msgstr "Utwórz półkę"
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "O programie"
|
msgstr "O programie"
|
||||||
|
|
||||||
@ -788,7 +826,7 @@ msgid "Remember me"
|
|||||||
msgstr "Zapamiętaj mnie"
|
msgstr "Zapamiętaj mnie"
|
||||||
|
|
||||||
#: cps/templates/osd.xml:5
|
#: cps/templates/osd.xml:5
|
||||||
msgid "instanceCalibre Web ebook catalog"
|
msgid "Calibre Web ebook catalog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/read.html:136
|
#: cps/templates/read.html:136
|
||||||
|
Binary file not shown.
@ -15,7 +15,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Calibre-web\n"
|
"Project-Id-Version: Calibre-web\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
||||||
"POT-Creation-Date: 2017-02-10 20:17+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
|
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
|
||||||
"Last-Translator: dalin <dalin.lin@gmail.com>\n"
|
"Last-Translator: dalin <dalin.lin@gmail.com>\n"
|
||||||
"Language: zh_Hans_CN\n"
|
"Language: zh_Hans_CN\n"
|
||||||
@ -26,316 +26,341 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr "未安装"
|
msgstr "未安装"
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr "发送邮件失败: %s"
|
msgstr "发送邮件失败: %s"
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr "Calibre-web 测试邮件"
|
msgstr "Calibre-web 测试邮件"
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr "此邮件由calibre web发送"
|
msgstr "此邮件由calibre web发送"
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr "发送到Kindle"
|
msgstr "发送到Kindle"
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr "无法找到适合邮件发送的格式"
|
msgstr "无法找到适合邮件发送的格式"
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr "无法转换epub到mobi"
|
msgstr "无法转换epub到mobi"
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr "无法读取所请求的文件。可能是错误权限不对?"
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr "游客"
|
msgstr "游客"
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr "最新书籍"
|
msgstr "最新书籍"
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr "热门书籍(最多下载)"
|
msgstr "热门书籍(最多下载)"
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr "随机书籍"
|
msgstr "随机书籍"
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr "作者列表"
|
msgstr "作者列表"
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr "无法打开电子书。 文件不存在或者文件不可访问:"
|
msgstr "无法打开电子书。 文件不存在或者文件不可访问:"
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr "丛书列表"
|
msgstr "丛书列表"
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr "丛书: %(serie)s"
|
msgstr "丛书: %(serie)s"
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr "可用语言"
|
msgstr "可用语言"
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr "语言: %(name)s"
|
msgstr "语言: %(name)s"
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr "分类列表"
|
msgstr "分类列表"
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr "分类: %(name)s"
|
msgstr "分类: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr "统计"
|
msgstr "统计"
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr "正在重启,请刷新页面"
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr "正在关闭服务器,请关闭窗口"
|
msgstr "正在关闭服务器,请关闭窗口"
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "搜索"
|
msgstr "搜索"
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr "阅读一本书"
|
msgstr "阅读一本书"
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr "请填写所有字段"
|
msgstr "请填写所有字段"
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr "注册"
|
msgstr "注册"
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr "发生一个未知错误。请稍后再试。"
|
msgstr "发生一个未知错误。请稍后再试。"
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr "此用户名或邮箱已被使用。"
|
msgstr "此用户名或邮箱已被使用。"
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr "您现在已以'%(nickname)s'身份登录"
|
msgstr "您现在已以'%(nickname)s'身份登录"
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr "用户名或密码错误"
|
msgstr "用户名或密码错误"
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr "请先配置SMTP邮箱..."
|
msgstr "请先配置SMTP邮箱..."
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr "此书已被成功发给 %(kindlemail)s"
|
msgstr "此书已被成功发给 %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr "发送这本书的时候出现错误: %(res)s"
|
msgstr "发送这本书的时候出现错误: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr "请先配置您的kindle电子邮箱地址..."
|
msgstr "请先配置您的kindle电子邮箱地址..."
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr "此书已被添加到书架: %(sname)s"
|
msgstr "此书已被添加到书架: %(sname)s"
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr "此书已从书架 %(sname)s 中删除"
|
msgstr "此书已从书架 %(sname)s 中删除"
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr "已存在书架 '%(title)s'。"
|
msgstr "已存在书架 '%(title)s'。"
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr "书架 %(title)s 已被创建"
|
msgstr "书架 %(title)s 已被创建"
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr "发生错误"
|
msgstr "发生错误"
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr "创建书架"
|
msgstr "创建书架"
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr "书架 %(title)s 已被修改"
|
msgstr "书架 %(title)s 已被修改"
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr "编辑书架"
|
msgstr "编辑书架"
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr "成功删除书架 %(name)s"
|
msgstr "成功删除书架 %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr "书架: '%(name)s'"
|
msgstr "书架: '%(name)s'"
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr "修改书架 '%(name)s' 顺序"
|
msgstr "修改书架 '%(name)s' 顺序"
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr "找到已使用此邮箱的账号。"
|
msgstr "找到已使用此邮箱的账号。"
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr "%(name)s 的资料"
|
msgstr "%(name)s 的资料"
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr "资料已更新"
|
msgstr "资料已更新"
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr "管理页"
|
msgstr "管理页"
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr "Calibre-web配置已更新"
|
msgstr "Calibre-web配置已更新"
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr "基本配置"
|
msgstr "基本配置"
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr "DB位置无效,请输入正确路径"
|
msgstr "DB位置无效,请输入正确路径"
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr "添加新用户"
|
msgstr "添加新用户"
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr "用户 '%(user)s' 已被创建"
|
msgstr "用户 '%(user)s' 已被创建"
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr "已找到使用此邮箱或昵称的账号。"
|
msgstr "已找到使用此邮箱或昵称的账号。"
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr "邮箱设置已更新"
|
msgstr "邮箱设置已更新"
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr "测试邮件已成功发送到 %(kindlemail)s"
|
msgstr "测试邮件已成功发送到 %(kindlemail)s"
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr "发送测试邮件时发生错误: %(res)s"
|
msgstr "发送测试邮件时发生错误: %(res)s"
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr "编辑邮箱设置"
|
msgstr "编辑邮箱设置"
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr "用户 '%(nick)s' 已被删除"
|
msgstr "用户 '%(nick)s' 已被删除"
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr "用户 '%(nick)s' 已被更新"
|
msgstr "用户 '%(nick)s' 已被更新"
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr "发生未知错误。"
|
msgstr "发生未知错误。"
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr "编辑用户 %(nick)s"
|
msgstr "编辑用户 %(nick)s"
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr "编辑元数据"
|
msgstr "编辑元数据"
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr "创建路径 %s 失败(权限拒绝)。"
|
msgstr "创建路径 %s 失败(权限拒绝)。"
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr "存储文件 %s 失败(权限拒绝)。"
|
msgstr "存储文件 %s 失败(权限拒绝)。"
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr "删除文件 %s 失败(权限拒绝)。"
|
msgstr "删除文件 %s 失败(权限拒绝)。"
|
||||||
@ -344,145 +369,158 @@ msgstr "删除文件 %s 失败(权限拒绝)。"
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr "用户列表"
|
msgstr "用户列表"
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr "昵称"
|
msgstr "昵称"
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理"
|
msgstr "管理"
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "下载"
|
msgstr "下载"
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "上传"
|
msgstr "上传"
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "编辑"
|
msgstr "编辑"
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr "修改密码"
|
msgstr "修改密码"
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr "SMTP设置"
|
msgstr "SMTP设置"
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr "SMTP地址"
|
msgstr "SMTP地址"
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr "SMTP端口"
|
msgstr "SMTP端口"
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr "SMTP用户名"
|
msgstr "SMTP用户名"
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr "SMTP密码"
|
msgstr "SMTP密码"
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr "来自邮箱"
|
msgstr "来自邮箱"
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr "修改SMTP设置"
|
msgstr "修改SMTP设置"
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr "配置"
|
msgstr "配置"
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr "Calibre DB目录"
|
msgstr "Calibre DB目录"
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr "日志级别"
|
msgstr "日志级别"
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr "端口"
|
msgstr "端口"
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr "每页书籍数"
|
msgstr "每页书籍数"
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr "上传"
|
msgstr "上传"
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr "开放注册"
|
msgstr "开放注册"
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr "匿名浏览"
|
msgstr "匿名浏览"
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr "管理"
|
msgstr "管理"
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
#: cps/templates/admin.html:80
|
||||||
|
msgid "Current commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
msgid "Restart Calibre-web"
|
msgid "Restart Calibre-web"
|
||||||
msgstr "重启 Calibre-web"
|
msgstr "重启 Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:84
|
||||||
msgid "Stop Calibre-web"
|
msgid "Stop Calibre-web"
|
||||||
msgstr "停止 Calibre-web"
|
msgstr "停止 Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr "您确定要重启 Calibre-web 吗?"
|
msgstr "您确定要重启 Calibre-web 吗?"
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr "确定"
|
msgstr "确定"
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "后退"
|
msgstr "后退"
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr "您确定要关闭 Calibre-web 吗?"
|
msgstr "您确定要关闭 Calibre-web 吗?"
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr "书名"
|
msgstr "书名"
|
||||||
@ -499,7 +537,7 @@ msgstr "简介"
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "标签"
|
msgstr "标签"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr "丛书"
|
msgstr "丛书"
|
||||||
@ -594,7 +632,7 @@ msgstr "允许编辑"
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr "允许修改密码"
|
msgstr "允许修改密码"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
@ -675,11 +713,11 @@ msgstr "发现(随机书籍)"
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr "开始"
|
msgstr "开始"
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "搜索"
|
msgstr "搜索"
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr "热门书籍"
|
msgstr "热门书籍"
|
||||||
|
|
||||||
@ -687,7 +725,7 @@ msgstr "热门书籍"
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -695,7 +733,7 @@ msgstr ""
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr "基于评分的热门书籍"
|
msgstr "基于评分的热门书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr "新书"
|
msgstr "新书"
|
||||||
|
|
||||||
@ -707,7 +745,7 @@ msgstr "最新书籍"
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr "显示随机书籍"
|
msgstr "显示随机书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr "作者"
|
msgstr "作者"
|
||||||
|
|
||||||
@ -727,51 +765,51 @@ msgstr "书籍按丛书排序"
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr "切换导航"
|
msgstr "切换导航"
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr "走起!"
|
msgstr "走起!"
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr "高级搜索"
|
msgstr "高级搜索"
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "注销"
|
msgstr "注销"
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr "注册"
|
msgstr "注册"
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "浏览"
|
msgstr "浏览"
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr "发现"
|
msgstr "发现"
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr "分类"
|
msgstr "分类"
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr "语言"
|
msgstr "语言"
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr "公开书架"
|
msgstr "公开书架"
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr "您的书架"
|
msgstr "您的书架"
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr "创建书架"
|
msgstr "创建书架"
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "关于"
|
msgstr "关于"
|
||||||
|
|
||||||
@ -790,7 +828,7 @@ msgid "Remember me"
|
|||||||
msgstr "记住我"
|
msgstr "记住我"
|
||||||
|
|
||||||
#: cps/templates/osd.xml:5
|
#: cps/templates/osd.xml:5
|
||||||
msgid "instanceCalibre Web ebook catalog"
|
msgid "Calibre Web ebook catalog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/read.html:136
|
#: cps/templates/read.html:136
|
||||||
|
73
cps/web.py
73
cps/web.py
@ -3,7 +3,6 @@
|
|||||||
import mimetypes
|
import mimetypes
|
||||||
import logging
|
import logging
|
||||||
from logging.handlers import RotatingFileHandler
|
from logging.handlers import RotatingFileHandler
|
||||||
from tempfile import gettempdir
|
|
||||||
import textwrap
|
import textwrap
|
||||||
from flask import Flask, render_template, session, request, Response, redirect, url_for, send_from_directory, \
|
from flask import Flask, render_template, session, request, Response, redirect, url_for, send_from_directory, \
|
||||||
make_response, g, flash, abort
|
make_response, g, flash, abort
|
||||||
@ -39,9 +38,10 @@ import sys
|
|||||||
import subprocess
|
import subprocess
|
||||||
import re
|
import re
|
||||||
import db
|
import db
|
||||||
|
import thread
|
||||||
from shutil import move, copyfile
|
from shutil import move, copyfile
|
||||||
from tornado.ioloop import IOLoop
|
from tornado.ioloop import IOLoop
|
||||||
import StringIO
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from wand.image import Image
|
from wand.image import Image
|
||||||
@ -51,9 +51,6 @@ except ImportError, e:
|
|||||||
use_generic_pdf_cover = True
|
use_generic_pdf_cover = True
|
||||||
from cgi import escape
|
from cgi import escape
|
||||||
|
|
||||||
# Global variables
|
|
||||||
global_task = None
|
|
||||||
|
|
||||||
|
|
||||||
# Proxy Helper class
|
# Proxy Helper class
|
||||||
class ReverseProxied(object):
|
class ReverseProxied(object):
|
||||||
@ -283,7 +280,7 @@ def mimetype_filter(val):
|
|||||||
@app.template_filter('formatdate')
|
@app.template_filter('formatdate')
|
||||||
def formatdate(val):
|
def formatdate(val):
|
||||||
conformed_timestamp = re.sub(r"[:]|([-](?!((\d{2}[:]\d{2})|(\d{4}))$))", '', val)
|
conformed_timestamp = re.sub(r"[:]|([-](?!((\d{2}[:]\d{2})|(\d{4}))$))", '', val)
|
||||||
formatdate = datetime.datetime.strptime(conformed_timestamp[:-5], "%Y%m%d %H%M%S")
|
formatdate = datetime.datetime.strptime(conformed_timestamp[:15], "%Y%m%d %H%M%S")
|
||||||
return format_date(formatdate, format='medium',locale=get_locale())
|
return format_date(formatdate, format='medium',locale=get_locale())
|
||||||
|
|
||||||
|
|
||||||
@ -668,7 +665,7 @@ def get_opds_download_link(book_id, format):
|
|||||||
file_name = book.title
|
file_name = book.title
|
||||||
if len(book.authors) > 0:
|
if len(book.authors) > 0:
|
||||||
file_name = book.authors[0].name + '-' + file_name
|
file_name = book.authors[0].name + '-' + file_name
|
||||||
file_name = helper.get_valid_filename(file_name)
|
# file_name = helper.get_valid_filename(file_name)
|
||||||
response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format))
|
response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format))
|
||||||
response.headers["Content-Disposition"] = "attachment; filename=\"%s.%s\"" % (data.name, format)
|
response.headers["Content-Disposition"] = "attachment; filename=\"%s.%s\"" % (data.name, format)
|
||||||
return response
|
return response
|
||||||
@ -716,10 +713,42 @@ def get_update_status():
|
|||||||
commit = requests.get('https://api.github.com/repos/janeczku/calibre-web/git/refs/heads/master').json()
|
commit = requests.get('https://api.github.com/repos/janeczku/calibre-web/git/refs/heads/master').json()
|
||||||
if "object" in commit and commit['object']['sha'] != commit_id:
|
if "object" in commit and commit['object']['sha'] != commit_id:
|
||||||
status['status'] = True
|
status['status'] = True
|
||||||
|
commitdate = requests.get('https://api.github.com/repos/janeczku/calibre-web/git/commits/'+commit['object']['sha']).json()
|
||||||
|
if "committer" in commitdate:
|
||||||
|
status['commit'] = commitdate['committer']['date']
|
||||||
|
else:
|
||||||
|
status['commit'] = u'Unknown'
|
||||||
else:
|
else:
|
||||||
status['status'] = False
|
status['status'] = False
|
||||||
return json.dumps(status)
|
return json.dumps(status)
|
||||||
|
|
||||||
|
@app.route("/get_updater_status", methods=['GET','POST'])
|
||||||
|
@login_required
|
||||||
|
@admin_required
|
||||||
|
def get_updater_status():
|
||||||
|
status = {}
|
||||||
|
if request.method == "POST":
|
||||||
|
commit = request.form.to_dict()
|
||||||
|
if "start" in commit and commit['start'] == 'True':
|
||||||
|
text={
|
||||||
|
"1": _(u'Requesting update package'),
|
||||||
|
"2": _(u'Downloading update package'),
|
||||||
|
"3": _(u'Unzipping update package'),
|
||||||
|
"4": _(u'Files are replaced'),
|
||||||
|
"5": _(u'Database connections are closed'),
|
||||||
|
"6": _(u'Server is stopped'),
|
||||||
|
"7": _(u'Update finished, please press okay and reload page')
|
||||||
|
}
|
||||||
|
status['text']=text
|
||||||
|
helper.updater_thread = helper.Updater()
|
||||||
|
helper.updater_thread.start()
|
||||||
|
status['status']=helper.updater_thread.get_update_status()
|
||||||
|
elif request.method == "GET":
|
||||||
|
try:
|
||||||
|
status['status']=helper.updater_thread.get_update_status()
|
||||||
|
except:
|
||||||
|
status['status'] = 7
|
||||||
|
return json.dumps(status)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/get_languages_json", methods=['GET', 'POST'])
|
@app.route("/get_languages_json", methods=['GET', 'POST'])
|
||||||
@ -1018,9 +1047,9 @@ def stats():
|
|||||||
@login_required
|
@login_required
|
||||||
@admin_required
|
@admin_required
|
||||||
def shutdown():
|
def shutdown():
|
||||||
global global_task
|
# global global_task
|
||||||
task = int(request.args.get("parameter").strip())
|
task = int(request.args.get("parameter").strip())
|
||||||
global_task = task
|
helper.global_task = task
|
||||||
if task == 1 or task == 0: # valid commandos received
|
if task == 1 or task == 0: # valid commandos received
|
||||||
# close all database connections
|
# close all database connections
|
||||||
db.session.close()
|
db.session.close()
|
||||||
@ -1032,7 +1061,7 @@ def shutdown():
|
|||||||
server.add_callback(server.stop)
|
server.add_callback(server.stop)
|
||||||
showtext = {}
|
showtext = {}
|
||||||
if task == 0:
|
if task == 0:
|
||||||
showtext['text'] = _(u'Performing Restart, please reload page')
|
showtext['text'] = _(u'Server restarted, please reload page')
|
||||||
else:
|
else:
|
||||||
showtext['text'] = _(u'Performing shutdown of server, please close window')
|
showtext['text'] = _(u'Performing shutdown of server, please close window')
|
||||||
return json.dumps(showtext)
|
return json.dumps(showtext)
|
||||||
@ -1043,23 +1072,10 @@ def shutdown():
|
|||||||
@login_required
|
@login_required
|
||||||
@admin_required
|
@admin_required
|
||||||
def update():
|
def update():
|
||||||
global global_task
|
helper.updater_thread = helper.Updater()
|
||||||
r = requests.get('https://api.github.com/repos/janeczku/calibre-web/zipball/master', stream=True)
|
|
||||||
fname = re.findall("filename=(.+)", r.headers['content-disposition'])[0]
|
|
||||||
z = zipfile.ZipFile(StringIO.StringIO(r.content))
|
|
||||||
tmp_dir = gettempdir()
|
|
||||||
z.extractall(tmp_dir)
|
|
||||||
helper.update_source(os.path.join(tmp_dir,os.path.splitext(fname)[0]),config.get_main_dir)
|
|
||||||
global_task = 0
|
|
||||||
db.session.close()
|
|
||||||
db.engine.dispose()
|
|
||||||
ub.session.close()
|
|
||||||
ub.engine.dispose()
|
|
||||||
# stop tornado server
|
|
||||||
server = IOLoop.instance()
|
|
||||||
server.add_callback(server.stop)
|
|
||||||
flash(_(u"Update done"), category="info")
|
flash(_(u"Update done"), category="info")
|
||||||
return logout()
|
return ""
|
||||||
|
|
||||||
|
|
||||||
@app.route("/search", methods=["GET"])
|
@app.route("/search", methods=["GET"])
|
||||||
@login_required_if_no_ano
|
@login_required_if_no_ano
|
||||||
@ -1598,14 +1614,13 @@ def basic_configuration():
|
|||||||
|
|
||||||
|
|
||||||
def configuration_helper(origin):
|
def configuration_helper(origin):
|
||||||
global global_task
|
# global global_task
|
||||||
reboot_required = False
|
reboot_required = False
|
||||||
db_change = False
|
db_change = False
|
||||||
success = False
|
success = False
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
to_save = request.form.to_dict()
|
to_save = request.form.to_dict()
|
||||||
content = ub.session.query(ub.Settings).first()
|
content = ub.session.query(ub.Settings).first()
|
||||||
# ToDo: check lib vaild, and change without restart
|
|
||||||
if "config_calibre_dir" in to_save:
|
if "config_calibre_dir" in to_save:
|
||||||
if content.config_calibre_dir != to_save["config_calibre_dir"]:
|
if content.config_calibre_dir != to_save["config_calibre_dir"]:
|
||||||
content.config_calibre_dir = to_save["config_calibre_dir"]
|
content.config_calibre_dir = to_save["config_calibre_dir"]
|
||||||
@ -1674,7 +1689,7 @@ def configuration_helper(origin):
|
|||||||
# stop tornado server
|
# stop tornado server
|
||||||
server = IOLoop.instance()
|
server = IOLoop.instance()
|
||||||
server.add_callback(server.stop)
|
server.add_callback(server.stop)
|
||||||
global_task = 0
|
helper.global_task = 0
|
||||||
app.logger.info('Reboot required, restarting')
|
app.logger.info('Reboot required, restarting')
|
||||||
if origin:
|
if origin:
|
||||||
success = True
|
success = True
|
||||||
|
304
messages.pot
304
messages.pot
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2017-02-10 20:17+0100\n"
|
"POT-Creation-Date: 2017-02-20 19:47+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -17,316 +17,341 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.3.4\n"
|
"Generated-By: Babel 2.3.4\n"
|
||||||
|
|
||||||
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:998
|
#: cps/book_formats.py:111 cps/book_formats.py:115 cps/web.py:1030
|
||||||
msgid "not installed"
|
msgid "not installed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:136
|
#: cps/helper.py:150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to send mail: %s"
|
msgid "Failed to send mail: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:143
|
#: cps/helper.py:157
|
||||||
msgid "Calibre-web test email"
|
msgid "Calibre-web test email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:144 cps/helper.py:154
|
#: cps/helper.py:158 cps/helper.py:168
|
||||||
msgid "This email has been sent via calibre web."
|
msgid "This email has been sent via calibre web."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:153 cps/templates/detail.html:130
|
#: cps/helper.py:167 cps/templates/detail.html:130
|
||||||
msgid "Send to Kindle"
|
msgid "Send to Kindle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:171 cps/helper.py:186
|
#: cps/helper.py:185 cps/helper.py:200
|
||||||
msgid "Could not find any formats suitable for sending by email"
|
msgid "Could not find any formats suitable for sending by email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:180
|
#: cps/helper.py:194
|
||||||
msgid "Could not convert epub to mobi"
|
msgid "Could not convert epub to mobi"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/helper.py:206
|
#: cps/ub.py:434
|
||||||
msgid "The requested file could not be read. Maybe wrong permissions?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: cps/ub.py:443
|
|
||||||
msgid "Guest"
|
msgid "Guest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:778
|
#: cps/web.py:734
|
||||||
|
msgid "Requesting update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:735
|
||||||
|
msgid "Downloading update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:736
|
||||||
|
msgid "Unzipping update package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:737
|
||||||
|
msgid "Files are replaced"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:738
|
||||||
|
msgid "Database connections are closed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:739
|
||||||
|
msgid "Server is stopped"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:740
|
||||||
|
msgid "Update finished, please press okay and reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:803
|
#: cps/web.py:835
|
||||||
msgid "Hot Books (most downloaded)"
|
msgid "Hot Books (most downloaded)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:813
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:822
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:835
|
#: cps/web.py:867
|
||||||
msgid "Author list"
|
msgid "Author list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:846
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:848 cps/web.py:876 cps/web.py:975 cps/web.py:1216 cps/web.py:2103
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
|
#: cps/web.py:2115
|
||||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:57 cps/web.py:862
|
#: cps/templates/index.xml:57 cps/web.py:894
|
||||||
msgid "Series list"
|
msgid "Series list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:874
|
#: cps/web.py:906
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Series: %(serie)s"
|
msgid "Series: %(serie)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:907
|
#: cps/web.py:939
|
||||||
msgid "Available languages"
|
msgid "Available languages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:922
|
#: cps/web.py:954
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language: %(name)s"
|
msgid "Language: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:50 cps/web.py:935
|
#: cps/templates/index.xml:50 cps/web.py:967
|
||||||
msgid "Category list"
|
msgid "Category list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:947
|
#: cps/web.py:979
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Category: %(name)s"
|
msgid "Category: %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1008
|
#: cps/web.py:1040
|
||||||
msgid "Statistics"
|
msgid "Statistics"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1029
|
#: cps/web.py:1061
|
||||||
msgid "Performing Restart, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1031
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1055
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1128 cps/web.py:1141
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1192 cps/web.py:1199 cps/web.py:1206 cps/web.py:1213
|
#: cps/web.py:1211 cps/web.py:1218 cps/web.py:1225 cps/web.py:1232
|
||||||
msgid "Read a Book"
|
msgid "Read a Book"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1264 cps/web.py:1701
|
#: cps/web.py:1276 cps/web.py:1713
|
||||||
msgid "Please fill out all fields!"
|
msgid "Please fill out all fields!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1265 cps/web.py:1281 cps/web.py:1286 cps/web.py:1288
|
#: cps/web.py:1277 cps/web.py:1293 cps/web.py:1298 cps/web.py:1300
|
||||||
msgid "register"
|
msgid "register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1280
|
#: cps/web.py:1292
|
||||||
msgid "An unknown error occured. Please try again later."
|
msgid "An unknown error occured. Please try again later."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1285
|
#: cps/web.py:1297
|
||||||
msgid "This username or email address is already in use."
|
msgid "This username or email address is already in use."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1303
|
#: cps/web.py:1315
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "you are now logged in as: '%(nickname)s'"
|
msgid "you are now logged in as: '%(nickname)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1308
|
#: cps/web.py:1320
|
||||||
msgid "Wrong Username or Password"
|
msgid "Wrong Username or Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1310
|
#: cps/web.py:1322
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1327
|
#: cps/web.py:1339
|
||||||
msgid "Please configure the SMTP mail settings first..."
|
msgid "Please configure the SMTP mail settings first..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1331
|
#: cps/web.py:1343
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book successfully send to %(kindlemail)s"
|
msgid "Book successfully send to %(kindlemail)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1335
|
#: cps/web.py:1347
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending this book: %(res)s"
|
msgid "There was an error sending this book: %(res)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1337
|
#: cps/web.py:1349
|
||||||
msgid "Please configure your kindle email address first..."
|
msgid "Please configure your kindle email address first..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1357
|
#: cps/web.py:1369
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been added to shelf: %(sname)s"
|
msgid "Book has been added to shelf: %(sname)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1378
|
#: cps/web.py:1390
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Book has been removed from shelf: %(sname)s"
|
msgid "Book has been removed from shelf: %(sname)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1397 cps/web.py:1421
|
#: cps/web.py:1409 cps/web.py:1433
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "A shelf with the name '%(title)s' already exists."
|
msgid "A shelf with the name '%(title)s' already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1402
|
#: cps/web.py:1414
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s created"
|
msgid "Shelf %(title)s created"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1404 cps/web.py:1432
|
#: cps/web.py:1416 cps/web.py:1444
|
||||||
msgid "There was an error"
|
msgid "There was an error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1405 cps/web.py:1407
|
#: cps/web.py:1417 cps/web.py:1419
|
||||||
msgid "create a shelf"
|
msgid "create a shelf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1430
|
#: cps/web.py:1442
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf %(title)s changed"
|
msgid "Shelf %(title)s changed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1433 cps/web.py:1435
|
#: cps/web.py:1445 cps/web.py:1447
|
||||||
msgid "Edit a shelf"
|
msgid "Edit a shelf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1453
|
#: cps/web.py:1465
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "successfully deleted shelf %(name)s"
|
msgid "successfully deleted shelf %(name)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1475
|
#: cps/web.py:1487
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Shelf: '%(name)s'"
|
msgid "Shelf: '%(name)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1506
|
#: cps/web.py:1518
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Change order of Shelf: '%(name)s'"
|
msgid "Change order of Shelf: '%(name)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1568
|
#: cps/web.py:1580
|
||||||
msgid "Found an existing account for this email address."
|
msgid "Found an existing account for this email address."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1570 cps/web.py:1574
|
#: cps/web.py:1582 cps/web.py:1586
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(name)s's profile"
|
msgid "%(name)s's profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1571
|
#: cps/web.py:1583
|
||||||
msgid "Profile updated"
|
msgid "Profile updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1584
|
#: cps/web.py:1597
|
||||||
msgid "Admin page"
|
msgid "Admin page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1656
|
#: cps/web.py:1668
|
||||||
msgid "Calibre-web configuration updated"
|
msgid "Calibre-web configuration updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1663 cps/web.py:1669 cps/web.py:1682
|
#: cps/web.py:1675 cps/web.py:1681 cps/web.py:1694
|
||||||
msgid "Basic Configuration"
|
msgid "Basic Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1667
|
#: cps/web.py:1679
|
||||||
msgid "DB location is not valid, please enter correct path"
|
msgid "DB location is not valid, please enter correct path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:33 cps/web.py:1703 cps/web.py:1749
|
#: cps/templates/admin.html:34 cps/web.py:1715 cps/web.py:1761
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1741
|
#: cps/web.py:1753
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(user)s' created"
|
msgid "User '%(user)s' created"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1745
|
#: cps/web.py:1757
|
||||||
msgid "Found an existing account for this email address or nickname."
|
msgid "Found an existing account for this email address or nickname."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1767
|
#: cps/web.py:1779
|
||||||
msgid "Mail settings updated"
|
msgid "Mail settings updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1773
|
#: cps/web.py:1785
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
msgid "Test E-Mail successfully send to %(kindlemail)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1776
|
#: cps/web.py:1788
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "There was an error sending the Test E-Mail: %(res)s"
|
msgid "There was an error sending the Test E-Mail: %(res)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1777
|
#: cps/web.py:1789
|
||||||
msgid "Edit mail settings"
|
msgid "Edit mail settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1805
|
#: cps/web.py:1817
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' deleted"
|
msgid "User '%(nick)s' deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1886
|
#: cps/web.py:1898
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "User '%(nick)s' updated"
|
msgid "User '%(nick)s' updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1889
|
#: cps/web.py:1901
|
||||||
msgid "An unknown error occured."
|
msgid "An unknown error occured."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:1892
|
#: cps/web.py:1904
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Edit User %(nick)s"
|
msgid "Edit User %(nick)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2098 cps/web.py:2101 cps/web.py:2175
|
#: cps/web.py:2110 cps/web.py:2113 cps/web.py:2188
|
||||||
msgid "edit metadata"
|
msgid "edit metadata"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2133
|
#: cps/web.py:2145
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to create path %s (Permission denied)."
|
msgid "Failed to create path %s (Permission denied)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2138
|
#: cps/web.py:2150
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to store file %s (Permission denied)."
|
msgid "Failed to store file %s (Permission denied)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/web.py:2143
|
#: cps/web.py:2155
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to delete file %s (Permission denied)."
|
msgid "Failed to delete file %s (Permission denied)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -335,145 +360,158 @@ msgstr ""
|
|||||||
msgid "User list"
|
msgid "User list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:7
|
#: cps/templates/admin.html:8
|
||||||
msgid "Nickname"
|
msgid "Nickname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:8
|
#: cps/templates/admin.html:9
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:9
|
#: cps/templates/admin.html:10
|
||||||
msgid "Kindle"
|
msgid "Kindle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:10
|
#: cps/templates/admin.html:11
|
||||||
msgid "DLS"
|
msgid "DLS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:11 cps/templates/layout.html:83
|
#: cps/templates/admin.html:12 cps/templates/layout.html:85
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:12 cps/templates/detail.html:117
|
#: cps/templates/admin.html:13 cps/templates/detail.html:117
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:13 cps/templates/layout.html:76
|
#: cps/templates/admin.html:14 cps/templates/layout.html:78
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:14
|
#: cps/templates/admin.html:15
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:15
|
#: cps/templates/admin.html:16
|
||||||
msgid "Passwd"
|
msgid "Passwd"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:34
|
#: cps/templates/admin.html:35
|
||||||
msgid "SMTP mail settings"
|
msgid "SMTP mail settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:37 cps/templates/email_edit.html:7
|
#: cps/templates/admin.html:38 cps/templates/email_edit.html:7
|
||||||
msgid "SMTP hostname"
|
msgid "SMTP hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:38
|
#: cps/templates/admin.html:39
|
||||||
msgid "SMTP port"
|
msgid "SMTP port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:39
|
#: cps/templates/admin.html:40
|
||||||
msgid "SSL"
|
msgid "SSL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:40 cps/templates/email_edit.html:23
|
#: cps/templates/admin.html:41 cps/templates/email_edit.html:23
|
||||||
msgid "SMTP login"
|
msgid "SMTP login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:41 cps/templates/email_edit.html:27
|
#: cps/templates/admin.html:42 cps/templates/email_edit.html:27
|
||||||
msgid "SMTP password"
|
msgid "SMTP password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:42
|
#: cps/templates/admin.html:43
|
||||||
msgid "From mail"
|
msgid "From mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:54
|
#: cps/templates/admin.html:55
|
||||||
msgid "Change SMTP settings"
|
msgid "Change SMTP settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:56 cps/templates/admin.html:76
|
#: cps/templates/admin.html:57 cps/templates/admin.html:77
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:59
|
#: cps/templates/admin.html:60
|
||||||
msgid "Calibre DB dir"
|
msgid "Calibre DB dir"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:60 cps/templates/config_edit.html:32
|
#: cps/templates/admin.html:61 cps/templates/config_edit.html:32
|
||||||
msgid "Log Level"
|
msgid "Log Level"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:61
|
#: cps/templates/admin.html:62
|
||||||
msgid "Port"
|
msgid "Port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:62 cps/templates/config_edit.html:19
|
#: cps/templates/admin.html:63 cps/templates/config_edit.html:19
|
||||||
msgid "Books per page"
|
msgid "Books per page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:63
|
#: cps/templates/admin.html:64
|
||||||
msgid "Uploading"
|
msgid "Uploading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:64
|
#: cps/templates/admin.html:65
|
||||||
msgid "Public registration"
|
msgid "Public registration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:65
|
#: cps/templates/admin.html:66
|
||||||
msgid "Anonymous browsing"
|
msgid "Anonymous browsing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:77
|
#: cps/templates/admin.html:78
|
||||||
msgid "Administration"
|
msgid "Administration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:79
|
|
||||||
msgid "Restart Calibre-web"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:80
|
||||||
msgid "Stop Calibre-web"
|
msgid "Current commit timestamp"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:81
|
||||||
|
msgid "Newest commit timestamp"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:83
|
||||||
|
msgid "Restart Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:84
|
||||||
|
msgid "Stop Calibre-web"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:82
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:93
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:94 cps/templates/admin.html:109
|
#: cps/templates/admin.html:101 cps/templates/admin.html:115
|
||||||
|
#: cps/templates/admin.html:136
|
||||||
msgid "Ok"
|
msgid "Ok"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:95 cps/templates/admin.html:110
|
#: cps/templates/admin.html:102 cps/templates/admin.html:116
|
||||||
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
#: cps/templates/book_edit.html:108 cps/templates/config_edit.html:75
|
||||||
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
#: cps/templates/email_edit.html:36 cps/templates/shelf_edit.html:17
|
||||||
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
#: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:111
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/admin.html:108
|
#: cps/templates/admin.html:114
|
||||||
msgid "Do you really want to stop Calibre-web?"
|
msgid "Do you really want to stop Calibre-web?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: cps/templates/admin.html:127
|
||||||
|
msgid "Updating, please do not reload page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -490,7 +528,7 @@ msgstr ""
|
|||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:33 cps/templates/layout.html:136
|
#: cps/templates/book_edit.html:33 cps/templates/layout.html:138
|
||||||
#: cps/templates/search_form.html:33
|
#: cps/templates/search_form.html:33
|
||||||
msgid "Series"
|
msgid "Series"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -585,7 +623,7 @@ msgstr ""
|
|||||||
msgid "Allow Changing Password"
|
msgid "Allow Changing Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:78 cps/templates/layout.html:91
|
#: cps/templates/config_edit.html:78 cps/templates/layout.html:93
|
||||||
#: cps/templates/login.html:4
|
#: cps/templates/login.html:4
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -666,11 +704,11 @@ msgstr ""
|
|||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:7 cps/templates/layout.html:61
|
#: cps/templates/index.xml:7 cps/templates/layout.html:58
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:15 cps/templates/layout.html:124
|
#: cps/templates/index.xml:15 cps/templates/layout.html:126
|
||||||
msgid "Hot Books"
|
msgid "Hot Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -678,7 +716,7 @@ msgstr ""
|
|||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:127
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -686,7 +724,7 @@ msgstr ""
|
|||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:29 cps/templates/layout.html:122
|
#: cps/templates/index.xml:29 cps/templates/layout.html:124
|
||||||
msgid "New Books"
|
msgid "New Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -698,7 +736,7 @@ msgstr ""
|
|||||||
msgid "Show Random Books"
|
msgid "Show Random Books"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/index.xml:43 cps/templates/layout.html:138
|
#: cps/templates/index.xml:43 cps/templates/layout.html:140
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -718,51 +756,51 @@ msgstr ""
|
|||||||
msgid "Toggle navigation"
|
msgid "Toggle navigation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:63
|
#: cps/templates/layout.html:60
|
||||||
msgid "Go!"
|
msgid "Go!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:66
|
#: cps/templates/layout.html:68
|
||||||
msgid "Advanced Search"
|
msgid "Advanced Search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:87
|
#: cps/templates/layout.html:89
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:92 cps/templates/register.html:18
|
#: cps/templates/layout.html:94 cps/templates/register.html:18
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:121
|
#: cps/templates/layout.html:123
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:130
|
#: cps/templates/layout.html:132
|
||||||
msgid "Discover"
|
msgid "Discover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:133
|
#: cps/templates/layout.html:135
|
||||||
msgid "Categories"
|
msgid "Categories"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:140 cps/templates/search_form.html:54
|
#: cps/templates/layout.html:142 cps/templates/search_form.html:54
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:143
|
#: cps/templates/layout.html:145
|
||||||
msgid "Public Shelves"
|
msgid "Public Shelves"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:147
|
#: cps/templates/layout.html:149
|
||||||
msgid "Your Shelves"
|
msgid "Your Shelves"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:152
|
#: cps/templates/layout.html:154
|
||||||
msgid "Create a Shelf"
|
msgid "Create a Shelf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/layout.html:153
|
#: cps/templates/layout.html:155
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -781,7 +819,7 @@ msgid "Remember me"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/osd.xml:5
|
#: cps/templates/osd.xml:5
|
||||||
msgid "instanceCalibre Web ebook catalog"
|
msgid "Calibre Web ebook catalog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/read.html:136
|
#: cps/templates/read.html:136
|
||||||
|
8
vendor/wand/api.py
vendored
8
vendor/wand/api.py
vendored
@ -180,8 +180,8 @@ try:
|
|||||||
libraries = load_library()
|
libraries = load_library()
|
||||||
except (OSError, IOError):
|
except (OSError, IOError):
|
||||||
msg = 'http://docs.wand-py.org/en/latest/guide/install.html'
|
msg = 'http://docs.wand-py.org/en/latest/guide/install.html'
|
||||||
if sys.platform.startswith('freebsd'):
|
if sys.platform.startswith(('dragonfly', 'freebsd')):
|
||||||
msg = 'pkg_add -r'
|
msg = 'pkg install'
|
||||||
elif sys.platform == 'win32':
|
elif sys.platform == 'win32':
|
||||||
msg += '#install-imagemagick-on-windows'
|
msg += '#install-imagemagick-on-windows'
|
||||||
elif sys.platform == 'darwin':
|
elif sys.platform == 'darwin':
|
||||||
@ -1397,7 +1397,7 @@ try:
|
|||||||
library.MagickAutoOrientImage.argtypes = [ctypes.c_void_p]
|
library.MagickAutoOrientImage.argtypes = [ctypes.c_void_p]
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
# MagickAutoOrientImage was added in 6.8.9+, we have a fallback function
|
# MagickAutoOrientImage was added in 6.8.9+, we have a fallback function
|
||||||
# so we pass silently if we cant import it
|
# so we pass silently if we cannot import it
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@ -1418,7 +1418,7 @@ else:
|
|||||||
except OSError:
|
except OSError:
|
||||||
# In case of El Capitan SIP
|
# In case of El Capitan SIP
|
||||||
libc = ctypes.cdll.LoadLibrary('/usr/lib/libc.dylib')
|
libc = ctypes.cdll.LoadLibrary('/usr/lib/libc.dylib')
|
||||||
elif platform.system() == 'FreeBSD':
|
elif sys.platform.startswith(('dragonfly', 'freebsd')):
|
||||||
libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
|
libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library('c'))
|
||||||
else:
|
else:
|
||||||
libc = ctypes.cdll.LoadLibrary('libc.so.6')
|
libc = ctypes.cdll.LoadLibrary('libc.so.6')
|
||||||
|
2
vendor/wand/drawing.py
vendored
2
vendor/wand/drawing.py
vendored
@ -1573,7 +1573,7 @@ class Drawing(Resource):
|
|||||||
def rectangle(self, left=None, top=None, right=None, bottom=None,
|
def rectangle(self, left=None, top=None, right=None, bottom=None,
|
||||||
width=None, height=None, radius=None, xradius=None,
|
width=None, height=None, radius=None, xradius=None,
|
||||||
yradius=None):
|
yradius=None):
|
||||||
"""Draws a rectangle using the current :attr:`stoke_color`,
|
"""Draws a rectangle using the current :attr:`stroke_color`,
|
||||||
:attr:`stroke_width`, and :attr:`fill_color`.
|
:attr:`stroke_width`, and :attr:`fill_color`.
|
||||||
|
|
||||||
.. sourcecode:: text
|
.. sourcecode:: text
|
||||||
|
30
vendor/wand/exceptions.py
vendored
30
vendor/wand/exceptions.py
vendored
@ -18,16 +18,28 @@ class WandException(Exception):
|
|||||||
"""All Wand-related exceptions are derived from this class."""
|
"""All Wand-related exceptions are derived from this class."""
|
||||||
|
|
||||||
|
|
||||||
class WandWarning(WandException, Warning):
|
class BaseWarning(WandException, Warning):
|
||||||
"""Base class for Wand-related warnings."""
|
"""Base class for Wand-related warnings.
|
||||||
|
|
||||||
|
.. versionadded:: 0.4.4
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
class WandError(WandException):
|
class BaseError(WandException):
|
||||||
"""Base class for Wand-related errors."""
|
"""Base class for Wand-related errors.
|
||||||
|
|
||||||
|
.. versionadded:: 0.4.4
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
class WandFatalError(WandException):
|
class BaseFatalError(WandException):
|
||||||
"""Base class for Wand-related fatal errors."""
|
"""Base class for Wand-related fatal errors.
|
||||||
|
|
||||||
|
.. versionadded:: 0.4.4
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
class WandLibraryVersionError(WandException):
|
class WandLibraryVersionError(WandException):
|
||||||
@ -91,9 +103,9 @@ DOMAIN_MAP = [
|
|||||||
#: (:class:`list`) The list of (base_class, suffix) pairs (for each code).
|
#: (:class:`list`) The list of (base_class, suffix) pairs (for each code).
|
||||||
#: It would be zipped with :const:`DOMAIN_MAP` pairs' last element.
|
#: It would be zipped with :const:`DOMAIN_MAP` pairs' last element.
|
||||||
CODE_MAP = [
|
CODE_MAP = [
|
||||||
(WandWarning, 'Warning'),
|
(BaseWarning, 'Warning'),
|
||||||
(WandError, 'Error'),
|
(BaseError, 'Error'),
|
||||||
(WandFatalError, 'FatalError')
|
(BaseFatalError, 'FatalError')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
11
vendor/wand/image.py
vendored
11
vendor/wand/image.py
vendored
@ -2757,6 +2757,17 @@ class Image(BaseImage):
|
|||||||
self.sequence = Sequence(self)
|
self.sequence = Sequence(self)
|
||||||
self.raise_exception()
|
self.raise_exception()
|
||||||
|
|
||||||
|
def destroy(self):
|
||||||
|
"""Manually remove :class:`~.sequence.SingleImage`'s in
|
||||||
|
the :class:`~.sequence.Sequence`, allowing it to
|
||||||
|
be properly garbage collected after using a ``with Image()`` context
|
||||||
|
manager.
|
||||||
|
|
||||||
|
"""
|
||||||
|
for i in range(0, len(self.sequence)):
|
||||||
|
self.sequence.pop()
|
||||||
|
super(Image, self).destroy()
|
||||||
|
|
||||||
def read(self, file=None, filename=None, blob=None, resolution=None):
|
def read(self, file=None, filename=None, blob=None, resolution=None):
|
||||||
"""Read new image into Image() object.
|
"""Read new image into Image() object.
|
||||||
|
|
||||||
|
20
vendor/wand/version.py
vendored
20
vendor/wand/version.py
vendored
@ -57,7 +57,7 @@ __all__ = ('VERSION', 'VERSION_INFO', 'MAGICK_VERSION',
|
|||||||
#:
|
#:
|
||||||
#: .. versionchanged:: 0.1.9
|
#: .. versionchanged:: 0.1.9
|
||||||
#: Becomes :class:`tuple`. (It was string before.)
|
#: Becomes :class:`tuple`. (It was string before.)
|
||||||
VERSION_INFO = (0, 4, 3)
|
VERSION_INFO = (0, 4, 4)
|
||||||
|
|
||||||
#: (:class:`basestring`) The version string e.g. ``'0.1.2'``.
|
#: (:class:`basestring`) The version string e.g. ``'0.1.2'``.
|
||||||
#:
|
#:
|
||||||
@ -94,20 +94,20 @@ if libmagick:
|
|||||||
#: .. versionadded:: 0.2.1
|
#: .. versionadded:: 0.2.1
|
||||||
MAGICK_VERSION_INFO = tuple(int(v or 0) for v in _match.groups())
|
MAGICK_VERSION_INFO = tuple(int(v or 0) for v in _match.groups())
|
||||||
|
|
||||||
#: (:class:`datetime.date`) The release date of the linked ImageMagick
|
|
||||||
#: library. The same to the result of :c:func:`GetMagickReleaseDate`
|
|
||||||
#: function.
|
|
||||||
#:
|
|
||||||
#: .. versionadded:: 0.2.1
|
|
||||||
MAGICK_RELEASE_DATE_STRING = text(libmagick.GetMagickReleaseDate())
|
|
||||||
|
|
||||||
#: (:class:`basestring`) The date string e.g. ``'2012-06-03'`` of
|
#: (:class:`basestring`) The date string e.g. ``'2012-06-03'`` of
|
||||||
#: :const:`MAGICK_RELEASE_DATE_STRING`. This value is the exactly same
|
#: :const:`MAGICK_RELEASE_DATE_STRING`. This value is the exactly same
|
||||||
#: string to the result of :c:func:`GetMagickReleaseDate` function.
|
#: string to the result of :c:func:`GetMagickReleaseDate` function.
|
||||||
#:
|
#:
|
||||||
#: .. versionadded:: 0.2.1
|
#: .. versionadded:: 0.2.1
|
||||||
MAGICK_RELEASE_DATE = datetime.date(
|
MAGICK_RELEASE_DATE_STRING = text(libmagick.GetMagickReleaseDate())
|
||||||
*map(int, MAGICK_RELEASE_DATE_STRING.split('-')))
|
|
||||||
|
_match = re.match(r'^(\d{4})-?(\d\d)-?(\d\d)$', MAGICK_RELEASE_DATE_STRING)
|
||||||
|
#: (:class:`datetime.date`) The release date of the linked ImageMagick
|
||||||
|
#: library. Equivalent to the result of :c:func:`GetMagickReleaseDate`
|
||||||
|
#: function.
|
||||||
|
#:
|
||||||
|
#: .. versionadded:: 0.2.1
|
||||||
|
MAGICK_RELEASE_DATE = datetime.date(*map(int, _match.groups()))
|
||||||
|
|
||||||
c_quantum_depth = ctypes.c_size_t()
|
c_quantum_depth = ctypes.c_size_t()
|
||||||
libmagick.GetMagickQuantumDepth(ctypes.byref(c_quantum_depth))
|
libmagick.GetMagickQuantumDepth(ctypes.byref(c_quantum_depth))
|
||||||
|
Loading…
Reference in New Issue
Block a user