Merge branch 'master' into kobo
This commit is contained in:
commit
0b709f7dfb
12
README.md
12
README.md
|
@ -10,12 +10,12 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
|
|||
|
||||
- Bootstrap 3 HTML5 interface
|
||||
- full graphical setup
|
||||
- User management with fine grained per-user permissions
|
||||
- User management with fine-grained per-user permissions
|
||||
- Admin interface
|
||||
- User Interface in dutch, english, french, german, hungarian, italian, japanese, khmer, polish, russian, simplified chinese, spanish, swedish, ukrainian
|
||||
- OPDS feed for eBook reader apps
|
||||
- Filter and search by titles, authors, tags, series and language
|
||||
- Create custom book collection (shelves)
|
||||
- Create a custom book collection (shelves)
|
||||
- Support for editing eBook metadata and deleting eBooks from Calibre library
|
||||
- Support for converting eBooks through Calibre binaries
|
||||
- Restrict eBook download to logged-in users
|
||||
|
@ -25,7 +25,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
|
|||
- Upload new books in many formats
|
||||
- Support for Calibre custom columns
|
||||
- Ability to hide content based on categories for certain users
|
||||
- Self update capability
|
||||
- Self-update capability
|
||||
- "Magic Link" login to make it easy to log on eReaders
|
||||
|
||||
## Quick start
|
||||
|
@ -50,11 +50,11 @@ Python 2.7+, python 3.x+
|
|||
|
||||
Optionally, to enable on-the-fly conversion from one ebook format to another when using the send-to-kindle feature, or during editing of ebooks metadata:
|
||||
|
||||
[Download and install](https://calibre-ebook.com/download) the Calibre desktop program for your platform and enter the folder including programm name (normally /opt/calibre/ebook-convert, or C:\Program Files\calibre\ebook-convert.exe) in the field "calibre's converter tool" on the setup page.
|
||||
[Download and install](https://calibre-ebook.com/download) the Calibre desktop program for your platform and enter the folder including program name (normally /opt/calibre/ebook-convert, or C:\Program Files\calibre\ebook-convert.exe) in the field "calibre's converter tool" on the setup page.
|
||||
|
||||
\*** DEPRECATED \*** Support will be removed in future releases
|
||||
|
||||
[Download](http://www.amazon.com/gp/feature.html?docId=1000765211) Amazon's KindleGen tool for your platform and place the binary named as `kindlegen` in the `vendor` folder.
|
||||
[Download](http://www.amazon.com/gp/feature.html?docId=1000765211) Amazon's KindleGen tool for your platform and place the binary named `kindlegen` in the `vendor` folder.
|
||||
|
||||
## Docker Images
|
||||
|
||||
|
@ -82,4 +82,4 @@ Pre-built Docker images are available in these Docker Hub repositories:
|
|||
|
||||
# Wiki
|
||||
|
||||
For further informations, How To's and FAQ please check the [Wiki](https://github.com/janeczku/calibre-web/wiki)
|
||||
For further information, How To's and FAQ please check the [Wiki](https://github.com/janeczku/calibre-web/wiki)
|
||||
|
|
|
@ -37,6 +37,7 @@ except ImportError:
|
|||
from flask_login.__about__ import __version__ as flask_loginVersion
|
||||
try:
|
||||
import unidecode
|
||||
# _() necessary to make babel aware of string for translation
|
||||
unidecode_version = _(u'installed')
|
||||
except ImportError:
|
||||
unidecode_version = _(u'not installed')
|
||||
|
@ -62,8 +63,8 @@ _VERSIONS = OrderedDict(
|
|||
iso639=isoLanguages.__version__,
|
||||
pytz=pytz.__version__,
|
||||
Unidecode = unidecode_version,
|
||||
Flask_SimpleLDAP = _(u'installed') if bool(services.ldap) else _(u'not installed'),
|
||||
Goodreads = _(u'installed') if bool(services.goodreads_support) else _(u'not installed'),
|
||||
Flask_SimpleLDAP = u'installed' if bool(services.ldap) else u'not installed',
|
||||
Goodreads = u'installed' if bool(services.goodreads_support) else u'not installed',
|
||||
)
|
||||
_VERSIONS.update(uploader.get_versions())
|
||||
|
||||
|
|
20
cps/admin.py
20
cps/admin.py
|
@ -272,6 +272,8 @@ def _configuration_update_helper():
|
|||
gdrive_secrets = {}
|
||||
gdriveError = gdriveutils.get_error_text(gdrive_secrets)
|
||||
if "config_use_google_drive" in to_save and not config.config_use_google_drive and not gdriveError:
|
||||
with open(gdriveutils.CLIENT_SECRETS, 'r') as settings:
|
||||
gdrive_secrets = json.load(settings)['web']
|
||||
if not gdrive_secrets:
|
||||
return _configuration_result('client_secrets.json is not configured for web application')
|
||||
gdriveutils.update_settings(
|
||||
|
@ -415,7 +417,8 @@ def _configuration_result(error_flash=None, gdriveError=None):
|
|||
if gdriveError:
|
||||
gdriveError = _(gdriveError)
|
||||
else:
|
||||
gdrivefolders = gdriveutils.listRootFolders()
|
||||
if config.config_use_google_drive and not gdrive_authenticate:
|
||||
gdrivefolders = gdriveutils.listRootFolders()
|
||||
|
||||
show_back_button = current_user.is_authenticated
|
||||
show_login_button = config.db_configured and not current_user.is_authenticated
|
||||
|
@ -614,6 +617,21 @@ def edit_user(user_id):
|
|||
return render_title_template("user_edit.html", translations=translations, languages=languages,
|
||||
new_user=0, content=content, downloads=downloads, registered_oauth=oauth_check,
|
||||
title=_(u"Edit User %(nick)s", nick=content.nickname), page="edituser")
|
||||
if "nickname" in to_save and to_save["nickname"] != content.nickname:
|
||||
# Query User nickname, if not existing, change
|
||||
if not ub.session.query(ub.User).filter(ub.User.nickname == to_save["nickname"]).scalar():
|
||||
content.nickname = to_save["nickname"]
|
||||
else:
|
||||
flash(_(u"This username is already taken"), category="error")
|
||||
return render_title_template("user_edit.html",
|
||||
translations=translations,
|
||||
languages=languages,
|
||||
new_user=0, content=content,
|
||||
downloads=downloads,
|
||||
registered_oauth=oauth_check,
|
||||
title=_(u"Edit User %(nick)s",
|
||||
nick=content.nickname),
|
||||
page="edituser")
|
||||
|
||||
if "kindle_mail" in to_save and to_save["kindle_mail"] != content.kindle_mail:
|
||||
content.kindle_mail = to_save["kindle_mail"]
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
from __future__ import division, print_function, unicode_literals
|
||||
import os
|
||||
import re
|
||||
from flask_babel import gettext as _
|
||||
|
||||
from . import config, logger
|
||||
from .subproc_wrapper import process_wait
|
||||
|
@ -26,7 +27,8 @@ from .subproc_wrapper import process_wait
|
|||
|
||||
log = logger.create()
|
||||
|
||||
_NOT_CONFIGURED = 'not configured'
|
||||
# _() necessary to make babel aware of string for translation
|
||||
_NOT_CONFIGURED = _('not configured')
|
||||
_NOT_INSTALLED = 'not installed'
|
||||
_EXECUTION_ERROR = 'Execution permissions missing'
|
||||
|
||||
|
|
|
@ -567,6 +567,12 @@ def upload():
|
|||
filepath = os.path.join(config.config_calibre_dir, author_dir, title_dir)
|
||||
saved_filename = os.path.join(filepath, title_dir + meta.extension.lower())
|
||||
|
||||
if title != u'Unknown' and authr != u'Unknown':
|
||||
entry = helper.check_exists_book(authr, title)
|
||||
if entry:
|
||||
book_html = flash(_(u"Uploaded book probably exists in the library, consider to change before upload new: ")
|
||||
+ Markup(render_title_template('book_exists_flash.html', entry=entry)), category="warning")
|
||||
|
||||
# check if file path exists, otherwise create it, copy file to calibre path and delete temp file
|
||||
if not os.path.exists(filepath):
|
||||
try:
|
||||
|
|
33
cps/epub.py
33
cps/epub.py
|
@ -64,7 +64,12 @@ def get_epub_info(tmp_file_path, original_file_name, original_file_extension):
|
|||
for s in ['title', 'description', 'creator', 'language', 'subject']:
|
||||
tmp = p.xpath('dc:%s/text()' % s, namespaces=ns)
|
||||
if len(tmp) > 0:
|
||||
epub_metadata[s] = p.xpath('dc:%s/text()' % s, namespaces=ns)[0]
|
||||
if s == 'creator':
|
||||
epub_metadata[s] = ' & '.join(p.xpath('dc:%s/text()' % s, namespaces=ns))
|
||||
elif s == 'subject':
|
||||
epub_metadata[s] = ', '.join(p.xpath('dc:%s/text()' % s, namespaces=ns))
|
||||
else:
|
||||
epub_metadata[s] = p.xpath('dc:%s/text()' % s, namespaces=ns)[0]
|
||||
else:
|
||||
epub_metadata[s] = "Unknown"
|
||||
|
||||
|
@ -109,18 +114,20 @@ def get_epub_info(tmp_file_path, original_file_name, original_file_extension):
|
|||
meta_cover = tree.xpath("/pkg:package/pkg:metadata/pkg:meta[@name='cover']/@content", namespaces=ns)
|
||||
if len(meta_cover) > 0:
|
||||
coversection = tree.xpath("/pkg:package/pkg:manifest/pkg:item[@id='"+meta_cover[0]+"']/@href", namespaces=ns)
|
||||
if len(coversection) > 0:
|
||||
filetype = coversection[0].rsplit('.', 1)[-1]
|
||||
if filetype == "xhtml" or filetype == "html": # if cover is (x)html format
|
||||
markup = epubZip.read(os.path.join(coverpath, coversection[0]))
|
||||
markupTree = etree.fromstring(markup)
|
||||
# no matter xhtml or html with no namespace
|
||||
imgsrc = markupTree.xpath("//*[local-name() = 'img']/@src")
|
||||
# imgsrc maybe startwith "../"" so fullpath join then relpath to cwd
|
||||
filename = os.path.relpath(os.path.join(os.path.dirname(os.path.join(coverpath, coversection[0])), imgsrc[0]))
|
||||
coverfile = extractCover(epubZip, filename, "", tmp_file_path)
|
||||
else:
|
||||
coverfile = extractCover(epubZip, coversection[0], coverpath, tmp_file_path)
|
||||
else:
|
||||
coversection = tree.xpath("/pkg:package/pkg:guide/pkg:reference/@href", namespaces=ns)
|
||||
if len(coversection) > 0:
|
||||
filetype = coversection[0].rsplit('.', 1)[-1]
|
||||
if filetype == "xhtml" or filetype == "html": # if cover is (x)html format
|
||||
markup = epubZip.read(os.path.join(coverpath, coversection[0]))
|
||||
markupTree = etree.fromstring(markup)
|
||||
# no matter xhtml or html with no namespace
|
||||
imgsrc = markupTree.xpath("//*[local-name() = 'img']/@src")
|
||||
# imgsrc maybe startwith "../"" so fullpath join then relpath to cwd
|
||||
filename = os.path.relpath(os.path.join(os.path.dirname(os.path.join(coverpath, coversection[0])), imgsrc[0]))
|
||||
coverfile = extractCover(epubZip, filename, "", tmp_file_path)
|
||||
else:
|
||||
coverfile = extractCover(epubZip, coversection[0], coverpath, tmp_file_path)
|
||||
|
||||
if not epub_metadata['title']:
|
||||
title = original_file_name
|
||||
|
|
|
@ -584,5 +584,7 @@ def get_error_text(client_secrets=None):
|
|||
filedata = json.load(settings)
|
||||
if 'web' not in filedata:
|
||||
return 'client_secrets.json is not configured for web application'
|
||||
if 'redirect_uris' not in filedata['web']:
|
||||
return 'Callback url (redirect url) is missing in client_secrets.json'
|
||||
if client_secrets:
|
||||
client_secrets.update(filedata['web'])
|
||||
|
|
|
@ -54,7 +54,7 @@ except ImportError:
|
|||
use_unidecode = False
|
||||
|
||||
try:
|
||||
from PIL import Image
|
||||
from PIL import Image as PILImage
|
||||
use_PIL = True
|
||||
except ImportError:
|
||||
use_PIL = False
|
||||
|
@ -183,7 +183,7 @@ def check_read_formats(entry):
|
|||
bookformats = list()
|
||||
if len(entry.data):
|
||||
for ele in iter(entry.data):
|
||||
if ele.format in EXTENSIONS_READER:
|
||||
if ele.format.upper() in EXTENSIONS_READER:
|
||||
bookformats.append(ele.format.lower())
|
||||
return bookformats
|
||||
|
||||
|
@ -511,9 +511,9 @@ def save_cover(img, book_path):
|
|||
# convert to jpg because calibre only supports jpg
|
||||
if content_type in ('image/png', 'image/webp'):
|
||||
if hasattr(img,'stream'):
|
||||
imgc = Image.open(img.stream)
|
||||
imgc = PILImage.open(img.stream)
|
||||
else:
|
||||
imgc = Image.open(io.BytesIO(img.content))
|
||||
imgc = PILImage.open(io.BytesIO(img.content))
|
||||
im = imgc.convert('RGB')
|
||||
tmp_bytesio = io.BytesIO()
|
||||
im.save(tmp_bytesio, format='JPEG')
|
||||
|
@ -794,9 +794,22 @@ def get_download_link(book_id, book_format):
|
|||
else:
|
||||
abort(404)
|
||||
|
||||
def check_exists_book(authr,title):
|
||||
db.session.connection().connection.connection.create_function("lower", 1, lcase)
|
||||
q = list()
|
||||
authorterms = re.split(r'\s*&\s*', authr)
|
||||
for authorterm in authorterms:
|
||||
q.append(db.Books.authors.any(func.lower(db.Authors.name).ilike("%" + authorterm + "%")))
|
||||
|
||||
return db.session.query(db.Books).filter(
|
||||
and_(db.Books.authors.any(and_(*q)),
|
||||
func.lower(db.Books.title).ilike("%" + title + "%")
|
||||
)).first()
|
||||
|
||||
############### Database Helper functions
|
||||
|
||||
def lcase(s):
|
||||
return unidecode.unidecode(s.lower()) if use_unidecode else s.lower()
|
||||
try:
|
||||
return unidecode.unidecode(s.lower())
|
||||
except Exception as e:
|
||||
log.exception(e)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
from __future__ import division, print_function, unicode_literals
|
||||
import os
|
||||
import sys
|
||||
import inspect
|
||||
import logging
|
||||
from logging import Formatter, StreamHandler
|
||||
|
@ -34,6 +35,7 @@ DEFAULT_LOG_LEVEL = logging.INFO
|
|||
DEFAULT_LOG_FILE = os.path.join(_CONFIG_DIR, "calibre-web.log")
|
||||
DEFAULT_ACCESS_LOG = os.path.join(_CONFIG_DIR, "access.log")
|
||||
LOG_TO_STDERR = '/dev/stderr'
|
||||
LOG_TO_STDOUT = '/dev/stdout'
|
||||
|
||||
logging.addLevelName(logging.WARNING, "WARN")
|
||||
logging.addLevelName(logging.CRITICAL, "CRIT")
|
||||
|
@ -112,9 +114,13 @@ def setup(log_file, log_level=None):
|
|||
return
|
||||
logging.debug("logging to %s level %s", log_file, r.level)
|
||||
|
||||
if log_file == LOG_TO_STDERR:
|
||||
file_handler = StreamHandler()
|
||||
file_handler.baseFilename = LOG_TO_STDERR
|
||||
if log_file == LOG_TO_STDERR or log_file == LOG_TO_STDOUT:
|
||||
if log_file == LOG_TO_STDOUT:
|
||||
file_handler = StreamHandler(sys.stdout)
|
||||
file_handler.baseFilename = log_file
|
||||
else:
|
||||
file_handler = StreamHandler()
|
||||
file_handler.baseFilename = log_file
|
||||
else:
|
||||
try:
|
||||
file_handler = RotatingFileHandler(log_file, maxBytes=50000, backupCount=2)
|
||||
|
@ -164,5 +170,5 @@ class StderrLogger(object):
|
|||
self.log.debug("Logging Error")
|
||||
|
||||
|
||||
# default configuration, before application settngs are applied
|
||||
# default configuration, before application settings are applied
|
||||
setup(LOG_TO_STDERR, logging.DEBUG if os.environ.get('FLASK_DEBUG') else DEFAULT_LOG_LEVEL)
|
||||
|
|
|
@ -47,7 +47,7 @@ def requires_basic_auth_if_no_ano(f):
|
|||
def decorated(*args, **kwargs):
|
||||
auth = request.authorization
|
||||
if config.config_anonbrowse != 1:
|
||||
if not auth or not check_auth(auth.username, auth.password):
|
||||
if not auth or auth.type != 'basic' or not check_auth(auth.username, auth.password):
|
||||
return authenticate()
|
||||
return f(*args, **kwargs)
|
||||
if config.config_login_type == constants.LOGIN_LDAP and services.ldap:
|
||||
|
@ -219,7 +219,7 @@ def feed_series(book_id):
|
|||
@requires_basic_auth_if_no_ano
|
||||
def feed_shelfindex(public):
|
||||
off = request.args.get("offset") or 0
|
||||
if public is not 0:
|
||||
if public != 0:
|
||||
shelf = g.public_shelfes
|
||||
number = len(shelf)
|
||||
else:
|
||||
|
@ -261,9 +261,10 @@ def opds_download_link(book_id, book_format):
|
|||
return get_download_link(book_id,book_format)
|
||||
|
||||
|
||||
@opds.route("/ajax/book/<string:uuid>/<library>")
|
||||
@opds.route("/ajax/book/<string:uuid>")
|
||||
@requires_basic_auth_if_no_ano
|
||||
def get_metadata_calibre_companion(uuid):
|
||||
def get_metadata_calibre_companion(uuid, library):
|
||||
entry = db.session.query(db.Books).filter(db.Books.uuid.like("%" + uuid + "%")).first()
|
||||
if entry is not None:
|
||||
js = render_template('json.txt', entry=entry)
|
||||
|
|
|
@ -146,6 +146,9 @@ class WebServer(object):
|
|||
self.unix_socket_file = None
|
||||
|
||||
def _start_tornado(self):
|
||||
if os.name == 'nt':
|
||||
import asyncio
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
log.info('Starting Tornado server on %s', _readable_listen_address(self.listen_address, self.listen_port))
|
||||
|
||||
# Max Buffersize set to 200MB )
|
||||
|
|
|
@ -64,6 +64,7 @@ span.glyphicon.glyphicon-tags {padding-right: 5px;color: #999;vertical-align: te
|
|||
.navbar-default .navbar-toggle .icon-bar {background-color: #000;}
|
||||
.navbar-default .navbar-toggle {border-color: #000;}
|
||||
.cover { margin-bottom: 10px;}
|
||||
.cover-height { max-height: 100px;}
|
||||
|
||||
.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;}
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="series_index">{{_('Series id')}}</label>
|
||||
<input type="number" step="0.1" min="0" class="form-control" name="series_index" id="series_index" value="{{book.series_index}}">
|
||||
<input type="number" step="0.01" min="0" class="form-control" name="series_index" id="series_index" value="{{book.series_index}}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="rating">{{_('Rating')}}</label>
|
||||
|
|
3
cps/templates/book_exists_flash.html
Normal file
3
cps/templates/book_exists_flash.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
<a href="{{ url_for('web.show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
||||
<span class="title">{{entry.title|shortentitle}}</span>
|
||||
</a>
|
|
@ -41,7 +41,7 @@
|
|||
{% for entry in entries %}
|
||||
<entry>
|
||||
<title>{{entry.title}}</title>
|
||||
<id>{{entry.uuid}}</id>
|
||||
<id>urn:uuid:{{entry.uuid}}</id>
|
||||
<updated>{{entry.atom_timestamp}}</updated>
|
||||
{% if entry.authors.__len__() > 0 %}
|
||||
<author>
|
||||
|
|
|
@ -15,28 +15,28 @@
|
|||
</author>
|
||||
<entry>
|
||||
<title>{{_('Hot Books')}}</title>
|
||||
<link rel="http://opds-spec.org/sort/popular" href="{{url_for('opds.feed_hot')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_hot')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_hot')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Popular publications from this catalog based on Downloads.')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Best rated Books')}}</title>
|
||||
<link rel="http://opds-spec.org/recommended" href="{{url_for('opds.feed_best_rated')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_best_rated')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_best_rated')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Popular publications from this catalog based on Rating.')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('New Books')}}</title>
|
||||
<link rel="http://opds-spec.org/sort/new" href="{{url_for('opds.feed_new')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_new')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_new')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('The latest Books')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Random Books')}}</title>
|
||||
<link rel="http://opds-spec.org/featured" href="{{url_for('opds.feed_discover')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_discover')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_discover')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Show Random Books')}}</content>
|
||||
|
@ -44,14 +44,14 @@
|
|||
{% if not current_user.is_anonymous %}
|
||||
<entry>
|
||||
<title>{{_('Read Books')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_read_books')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_read_books')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_read_books')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Read Books')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Unread Books')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_unread_books')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_unread_books')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_unread_books')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Unread Books')}}</content>
|
||||
|
@ -59,35 +59,35 @@
|
|||
{% endif %}
|
||||
<entry>
|
||||
<title>{{_('Authors')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_authorindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_authorindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_authorindex')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Books ordered by Author')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Publishers')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_publisherindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_publisherindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_publisherindex')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Books ordered by publisher')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Category list')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_categoryindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_categoryindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_categoryindex')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Books ordered by category')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Series list')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_seriesindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_seriesindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_seriesindex')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Books ordered by series')}}</content>
|
||||
</entry>
|
||||
<entry>
|
||||
<title>{{_('Public Shelves')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_shelfindex', public="public")}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_shelfindex', public='public')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_shelfindex', public="public")}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_('Books organized in public shelfs, visible to everyone')}}</content>
|
||||
|
@ -95,7 +95,7 @@
|
|||
{% if not current_user.is_anonymous %}
|
||||
<entry>
|
||||
<title>{{_('Your Shelves')}}</title>
|
||||
<link rel="subsection" href="{{url_for('opds.feed_shelfindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<link href="{{url_for('opds.feed_shelfindex')}}" type="application/atom+xml;profile=opds-catalog"/>
|
||||
<id>{{url_for('opds.feed_shelfindex')}}</id>
|
||||
<updated>{{ current_time }}</updated>
|
||||
<content type="text">{{_("User's own shelfs, only visible to the current user himself")}}</content>
|
||||
|
|
|
@ -99,6 +99,11 @@
|
|||
<div id="flash_info" class="alert alert-info">{{ message[1] }}</div>
|
||||
</div>
|
||||
{%endif%}
|
||||
{%if message[0] == "warning" %}
|
||||
<div class="row-fluid text-center" style="margin-top: -20px;">
|
||||
<div id="flash_warning" class="alert alert-warning">{{ message[1] }}</div>
|
||||
</div>
|
||||
{%endif%}
|
||||
{%if message[0] == "success" %}
|
||||
<div class="row-fluid text-center" style="margin-top: -20px;">
|
||||
<div id="flash_success" class="alert alert-success">{{ message[1] }}</div>
|
||||
|
|
|
@ -17,11 +17,6 @@
|
|||
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||
<link href="{{ url_for('static', filename='css/libs/bootstrap.min.css') }}" rel="stylesheet" media="screen">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/libs/bar-ui.css') }}" />
|
||||
<!--link rel="stylesheet" href="{{ url_for('static', filename='css/listen.css') }}" /-->
|
||||
|
||||
<!-- <link rel="stylesheet" href="{{ url_for('static', filename='css/libs/normalize.css') }}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/popup.css') }}"> -->
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
@ -30,95 +25,6 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<!--div id="main">
|
||||
<div class="content">
|
||||
<h2>{{ entry.title }}</h2>
|
||||
|
||||
<div class="cover">
|
||||
<img src="{{ url_for('web.get_cover', book_id=entry.id) }}" alt="{{ entry.title }}" />
|
||||
</div>
|
||||
|
||||
{% if entry.ratings.__len__() > 0 %}
|
||||
<div class="rating">
|
||||
<p>
|
||||
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
||||
<span class="glyphicon glyphicon-star good"></span>
|
||||
{% if loop.last and loop.index
|
||||
< 5 %} {% for numer in range(5 - loop.index) %} <span class="glyphicon glyphicon-star">
|
||||
</span>
|
||||
{% endfor %} {% endif %} {% endfor %}
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h3>{{_('Description:')}}</h3>
|
||||
{{entry.comments[0].text|safe}}
|
||||
</div-->
|
||||
<!--div class="sm2-bar-ui compact full-width">
|
||||
|
||||
<div class="bd sm2-main-controls">
|
||||
|
||||
<div class="sm2-inline-texture"></div>
|
||||
<div class="sm2-inline-gradient"></div>
|
||||
|
||||
<div class="sm2-inline-element sm2-button-element">
|
||||
<div class="sm2-button-bd">
|
||||
<a href="#play" class="sm2-inline-button sm2-icon-play-pause">{{_('Play / pause')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sm2-inline-element sm2-inline-status">
|
||||
|
||||
<div class="sm2-playlist">
|
||||
<div class="sm2-playlist-target">
|
||||
<!-- playlist <ul> + <li> markup will be injected here -->
|
||||
<!-- if you want default / non-JS content, you can put that here. -->
|
||||
<!--noscript><p>JavaScript is required.</p></noscript>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sm2-progress">
|
||||
<div class="sm2-row">
|
||||
<div class="sm2-inline-time">0:00</div>
|
||||
<div class="sm2-progress-bd">
|
||||
<div class="sm2-progress-track">
|
||||
<div class="sm2-progress-bar"></div>
|
||||
<div class="sm2-progress-ball"><div class="icon-overlay"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sm2-inline-duration">0:00</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sm2-inline-element sm2-button-element sm2-volume">
|
||||
<div class="sm2-button-bd">
|
||||
<span class="sm2-inline-button sm2-volume-control volume-shade"></span>
|
||||
<a href="#volume" class="sm2-inline-button sm2-volume-control">{{_('volume')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="bd sm2-playlist-drawer sm2-element">
|
||||
|
||||
<div class="sm2-inline-texture">
|
||||
<div class="sm2-box-shadow"></div>
|
||||
</div>
|
||||
|
||||
<!-- playlist content is mirrored here -->
|
||||
|
||||
<!--div class="sm2-playlist-wrapper">
|
||||
<ul class="sm2-playlist-bd">
|
||||
<li><a href="{{ url_for('web.serve_book', book_id=mp3file,book_format=audioformat)}}"><b>{% for author in entry.authors %}{{author.name.replace('|',',')}}
|
||||
{% if not loop.last %} & {% endif %} {% endfor %}</b> - {{entry.title}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div-->
|
||||
|
||||
<div class="sm2-bar-ui full-width fixed">
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
filePath: "{{ url_for('static', filename='js/libs/') }}",
|
||||
cssPath: "{{ url_for('static', filename='css/') }}",
|
||||
bookmarkUrl: "{{ url_for('web.bookmark', book_id=bookid, book_format='EPUB') }}",
|
||||
bookUrl: "{{ url_for('web.download_link', book_id=bookid, book_format='epub', anyname='file.epub') }}",
|
||||
bookUrl: "{{ url_for('web.serve_book', book_id=bookid, book_format='epub', anyname='file.epub') }}",
|
||||
bookmark: "{{ bookmark.bookmark_key if bookmark != None }}",
|
||||
useBookmarks: "{{ g.user.is_authenticated | tojson }}"
|
||||
};
|
||||
|
|
|
@ -1,11 +1,31 @@
|
|||
{% extends "layout.html" %}
|
||||
{% block body %}
|
||||
<div class="col-sm-6 col-lg-6 col-xs-6">
|
||||
<div class="col-sm-8 col-lg-8 col-xs-12">
|
||||
<h2>{{title}}</h2>
|
||||
<div>{{_('Drag \'n drop to rearrange order')}}</div>
|
||||
<div id="sortTrue" class="list-group">
|
||||
{% for entry in entries %}
|
||||
<div id="{{entry.id}}" class="list-group-item">{{entry.title}}</div>
|
||||
<div id="{{entry.id}}" class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-lg-2 col-sm-4 hidden-xs">
|
||||
<img class="cover-height" src="{{ url_for('web.get_cover', book_id=entry.id) }}">
|
||||
</div>
|
||||
<div class="col-lg-10 col-sm-8 col-xs-12">
|
||||
{{entry.title}}
|
||||
{% if entry.series|length > 0 %}
|
||||
<br>
|
||||
{{entry.series_index}} - {{entry.series[0].name}}
|
||||
{% endif %}
|
||||
<br>
|
||||
{% for author in entry.authors %}
|
||||
{{author.name.replace('|',',')}}
|
||||
{% if not loop.last %}
|
||||
&
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<button onclick="sendData('{{ url_for('shelf.order_shelf', shelf_id=shelf.id) }}')" class="btn btn-default" id="ChangeOrder">{{_('Change order')}}</button>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
{% for library,version in versions.items() %}
|
||||
<tr>
|
||||
<th>{{library}}</th>
|
||||
<td>{{version}}</td>
|
||||
<td>{{_(version)}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="discover">
|
||||
<h1>{{title}}</h1>
|
||||
<form role="form" method="POST" autocomplete="off">
|
||||
{% if g.user and g.user.role_admin() and new_user %}
|
||||
{% if new_user or ( g.user and content.nickname != "Guest" and g.user.role_admin() ) %}
|
||||
<div class="form-group required">
|
||||
<label for="nickname">{{_('Username')}}</label>
|
||||
<input type="text" class="form-control" name="nickname" id="nickname" value="{{ content.nickname if content.nickname != None }}" autocomplete="off">
|
||||
|
|
65
cps/tess.py
Normal file
65
cps/tess.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# This file is part of the Calibre-Web (https://github.com/janeczku/calibre-web)
|
||||
# Copyright (C) 2018-2019 OzzieIsaacs
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from subproc_wrapper import process_open, cmdlineCall
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
import time
|
||||
|
||||
def main():
|
||||
quotes = [1, 2]
|
||||
format_new_ext = '.mobi'
|
||||
format_old_ext = '.epub'
|
||||
file_path = '/home/matthias/Dokumente/bücher/Bettina Szramah/Die Giftmischerin TCP_IP (10)/Die Giftmischerin TCP_IP - Bettina, Szrama'
|
||||
command = ['/opt/calibre/ebook-convert', (file_path + format_old_ext),
|
||||
(file_path + format_new_ext)]
|
||||
|
||||
#print(command)
|
||||
#p1 = cmdlineCall(command[0],command[1:])
|
||||
#time.sleep(10)
|
||||
#print(p1)
|
||||
|
||||
p = process_open(command, quotes)
|
||||
while p.poll() is None:
|
||||
nextline = p.stdout.readline()
|
||||
if os.name == 'nt' and sys.version_info < (3, 0):
|
||||
nextline = nextline.decode('windows-1252')
|
||||
elif os.name == 'posix' and sys.version_info < (3, 0):
|
||||
nextline = nextline.decode('utf-8')
|
||||
# log.debug(nextline.strip('\r\n'))
|
||||
# parse progress string from calibre-converter
|
||||
progress = re.search(r"(\d+)%\s.*", nextline)
|
||||
if progress:
|
||||
print('Progress:' + str(progress))
|
||||
# self.UIqueue[index]['progress'] = progress.group(1) + ' %
|
||||
|
||||
# process returncode
|
||||
check = p.returncode
|
||||
calibre_traceback = p.stderr.readlines()
|
||||
for ele in calibre_traceback:
|
||||
if sys.version_info < (3, 0):
|
||||
ele = ele.decode('utf-8')
|
||||
print(ele.strip('\n'))
|
||||
if not ele.startswith('Traceback') and not ele.startswith(' File'):
|
||||
print( "Calibre failed with error: %s" % ele.strip('\n'))
|
||||
print(str(check))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Binary file not shown.
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-17 18:24+0200\n"
|
||||
"PO-Revision-Date: 2019-08-06 18:36+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-11-16 08:00+0100\n"
|
||||
"Last-Translator: Ozzie Isaacs\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -18,17 +18,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr "Installiert"
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "Nicht installiert"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statistiken"
|
||||
|
||||
|
@ -40,7 +38,7 @@ msgstr "Server neu gestartet, Seite bitte neu laden"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Server wird heruntergefahren, Fenster bitte schließen"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
|
@ -60,7 +58,7 @@ msgstr "Konfiguration von Calibre-Web wurde aktualisiert"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Basiskonfiguration"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1048
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Bitte alle Felder ausfüllen!"
|
||||
|
||||
|
@ -69,7 +67,7 @@ msgstr "Bitte alle Felder ausfüllen!"
|
|||
msgid "Add new user"
|
||||
msgstr "Neuen Benutzer hinzufügen"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1251
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "E-Mail bezieht sich nicht auf eine gültige Domain"
|
||||
|
||||
|
@ -96,7 +94,7 @@ msgstr "Test-E-Mail wurde erfolgreich an %(kindlemail)s versendet"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Es trat ein Fehler beim Versenden der Test-E-Mail auf: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1031
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Bitte zuerst die Kindle E-Mailadresse konfigurieren..."
|
||||
|
||||
|
@ -113,85 +111,93 @@ msgstr "Benutzer '%(nick)s' gelöscht"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "Benutzer kann nicht gelöscht werden, es wäre kein Admin Benutzer übrig"
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1277
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Benutzer %(nick)s bearbeiten"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr "Benutzername ist schon vorhanden"
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Benutzer '%(nick)s' aktualisiert"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Es ist ein unbekannter Fehler aufgetreten."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1073
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Logdatei Anzeige"
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Frage Update an"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Lade Update herunter"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Entpacke Update"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Ersetze Dateien"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Schließe Datenbankverbindungen"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Stoppe Server"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Update fehlgeschlagen:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP Fehler"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Verbindungsfehler"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Timeout beim Verbindungsaufbau"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Allgemeiner Fehler"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr "Nicht konfiguriert"
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich"
|
||||
|
@ -289,7 +295,7 @@ msgstr "Callback Domain ist nicht verifiziert, bitte Domain in der Google Develo
|
|||
#: cps/helper.py:79
|
||||
#, python-format
|
||||
msgid "%(format)s format not found for book id: %(book)d"
|
||||
msgstr "%(format)s Format für Buch-ID %(book)d nicht gefunden "
|
||||
msgstr "%(format)s Format für Buch-ID %(book)d nicht gefunden"
|
||||
|
||||
#: cps/helper.py:91
|
||||
#, python-format
|
||||
|
@ -575,7 +581,7 @@ msgid "Show best rated books"
|
|||
msgstr "Zeige am besten bewertete Bücher"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:969
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Gelesene Bücher"
|
||||
|
||||
|
@ -584,7 +590,7 @@ msgid "Show read and unread"
|
|||
msgstr "Zeige gelesene/ungelesene Bücher"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:973
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Ungelesene Bücher"
|
||||
|
||||
|
@ -657,230 +663,235 @@ msgstr "Dateiformate"
|
|||
msgid "Show file formats selection"
|
||||
msgstr "Zeige Dateiformatauswahl"
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Updateinformationen enthalten unbekannte Daten"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Kein Update verfügbar. Es ist bereits die aktuellste Version installiert"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Es sind Updates verfügbar. Klicke auf den Button unten, um auf die aktuellste Version zu aktualisieren."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "Updateinformationen konnten nicht geladen werden"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "Keine Releaseinformationen verfügbar"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Ein neues Update ist verfügbar. Klicke auf den Button unten, um auf Version: %(version)s zu aktualisieren"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr "Klicke auf den Button unten, um auf die letzte stabile Version zu aktualisieren."
|
||||
|
||||
#: cps/web.py:458
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Kürzlich hinzugefügte Bücher"
|
||||
|
||||
#: cps/web.py:486
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Am besten bewertete Bücher"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:494
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Zufällige Bücher"
|
||||
|
||||
#: cps/web.py:520
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr "Bücher"
|
||||
|
||||
#: cps/web.py:547
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Beliebte Bücher (am meisten Downloads)"
|
||||
|
||||
#: cps/web.py:558 cps/web.py:1298 cps/web.py:1386
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich:"
|
||||
|
||||
#: cps/web.py:571
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr "Author: %(name)s"
|
||||
|
||||
#: cps/web.py:583
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Verleger: %(name)s"
|
||||
|
||||
#: cps/web.py:594
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Serie: %(serie)s"
|
||||
|
||||
#: cps/web.py:605
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr "Bewertung: %(rating)s Sterne"
|
||||
|
||||
#: cps/web.py:616
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr "Dateiformat: %(format)s"
|
||||
|
||||
#: cps/web.py:628
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Kategorie: %(name)s"
|
||||
|
||||
#: cps/web.py:645
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Sprache: %(name)s"
|
||||
|
||||
#: cps/web.py:677
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Verlegerliste"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:693
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Serienliste"
|
||||
|
||||
#: cps/web.py:707
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr "Bewertungsliste"
|
||||
|
||||
#: cps/web.py:720
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr "Liste der Dateiformate"
|
||||
|
||||
#: cps/web.py:748
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Verfügbare Sprachen"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:765
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Kategorienliste"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:779
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Aufgaben"
|
||||
|
||||
#: cps/web.py:844
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Herausgegeben nach dem "
|
||||
|
||||
#: cps/web.py:851
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Herausgegeben vor dem "
|
||||
|
||||
#: cps/web.py:865
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Bewertung <= %(rating)s"
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Bewertung >= %(rating)s"
|
||||
|
||||
#: cps/web.py:927 cps/web.py:937
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: cps/web.py:1020
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
|
||||
|
||||
#: cps/web.py:1025
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht"
|
||||
|
||||
#: cps/web.py:1029
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s"
|
||||
|
||||
#: cps/web.py:1049 cps/web.py:1074 cps/web.py:1078 cps/web.py:1083
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "Registieren"
|
||||
|
||||
#: cps/web.py:1076
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen"
|
||||
|
||||
#: cps/web.py:1079
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Eine Bestätigungs-E-Mail wurde an deinen E-Mail Account versendet."
|
||||
|
||||
#: cps/web.py:1082
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Benutzername oder E-Mailadresse ist bereits in Verwendung."
|
||||
|
||||
#: cps/web.py:1097
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "LDAP-Authentifizierung kann nicht aktiviert werden"
|
||||
|
||||
#: cps/web.py:1106 cps/web.py:1212
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1110
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "Login nicht erfolgreich, LDAP Server nicht erreichbar, bitte Administrator kontaktieren"
|
||||
|
||||
#: cps/web.py:1114 cps/web.py:1122
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Falscher Benutzername oder Passwort"
|
||||
|
||||
#: cps/web.py:1118
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Eingeloggt als: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1126 cps/web.py:1148
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "Login"
|
||||
|
||||
#: cps/web.py:1160 cps/web.py:1191
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Token wurde nicht gefunden"
|
||||
|
||||
#: cps/web.py:1168 cps/web.py:1199
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Das Token ist abgelaufen"
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Erfolg! Bitte zum Gerät zurückkehren"
|
||||
|
||||
#: cps/web.py:1253 cps/web.py:1280 cps/web.py:1284
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s's Profil"
|
||||
|
||||
#: cps/web.py:1282
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil aktualisiert"
|
||||
|
||||
#: cps/web.py:1308 cps/web.py:1310 cps/web.py:1312 cps/web.py:1318
|
||||
#: cps/web.py:1322
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Lese ein Buch"
|
||||
|
||||
#: cps/web.py:1332
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr "Fehler beim Öffnen des eBooks. Datei existiert nicht oder ist nicht zugänglich. "
|
||||
msgstr "Fehler beim Öffnen des eBooks. Datei existiert nicht oder ist nicht zugänglich."
|
||||
|
||||
#: cps/worker.py:328
|
||||
#, python-format
|
||||
|
@ -1056,7 +1067,7 @@ msgstr "OK"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
@ -1690,11 +1701,6 @@ msgstr "Soll diese Domain-Regel wirklich gelöscht werden?"
|
|||
msgid "Next"
|
||||
msgstr "Nächste"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2054,7 +2060,7 @@ msgstr "Lösche dieses Bücherregal"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Bücherregal editieren"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Reihenfolge ändern"
|
||||
|
||||
|
@ -2274,9 +2280,6 @@ msgstr "Letzte Downloads"
|
|||
#~ msgid "Excecution permissions missing"
|
||||
#~ msgstr "Ausführungsberechtigung nicht vorhanden"
|
||||
|
||||
#~ msgid "not configured"
|
||||
#~ msgstr "Nicht konfiguriert"
|
||||
|
||||
#~ msgid "Error excecuting UnRar"
|
||||
#~ msgstr "Fehler bei der Ausführung von UnRar"
|
||||
|
||||
|
@ -2307,12 +2310,6 @@ msgstr "Letzte Downloads"
|
|||
#~ msgid "Google OAuth Client Secret"
|
||||
#~ msgstr "Google OAuth Client-Secret"
|
||||
|
||||
#~ msgid "Installed"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Not installed"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Use"
|
||||
#~ msgstr "Benutzen"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-07-26 11:44+0100\n"
|
||||
"Last-Translator: minakmostoles <xxx@xxx.com>\n"
|
||||
"Language: es\n"
|
||||
|
@ -19,18 +19,16 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "No instalado"
|
||||
|
||||
# "Last-Translator: victorhck <victorhck@mailbox.org>\n"
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Estadísticas"
|
||||
|
||||
|
@ -42,7 +40,7 @@ msgstr "Servidor reiniciado. Por favor, recargue la página"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Servidor en proceso de apagado. Por favor, cierre la ventana."
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
|
@ -62,7 +60,7 @@ msgstr "Configuración de Calibre-Web actualizada"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Configuración básica"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "¡Por favor completar todos los campos!"
|
||||
|
||||
|
@ -71,7 +69,7 @@ msgstr "¡Por favor completar todos los campos!"
|
|||
msgid "Add new user"
|
||||
msgstr "Agregar un nuevo usuario"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "El correo electrónico no tiene un nombre de dominio válido"
|
||||
|
||||
|
@ -98,7 +96,7 @@ msgstr "Correo electrónico de prueba enviado con éxito a %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Ocurrió un error enviando el correo electrónico de prueba: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Por favor configure primero la dirección de correo de su kindle..."
|
||||
|
||||
|
@ -115,85 +113,93 @@ msgstr "Usuario '%(nick)s' borrado"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "No queda ningún usuario administrador, no se puede eliminar usuario"
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Editar Usuario %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Usuario '%(nick)s' actualizado"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Ocurrió un error inesperado."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Contraseña para el usuario %(user)s reinicializada"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Visor del fichero de log"
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Solicitando paquete de actualización"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Descargando paquete de actualización"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Descomprimiendo paquete de actualización"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Remplazando ficheros"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Los conexiones de base datos están cerradas"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Parando servidor"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Actualización finalizada. Por favor, pulse OK y recargue la página"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Fallo al actualizar"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "Error HTTP"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Error de conexión"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Tiempo agotado mientras se trataba de establecer la conexión"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Error general"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Error abriendo un eBook. El archivo no existe o no es accesible"
|
||||
|
@ -577,7 +583,7 @@ msgid "Show best rated books"
|
|||
msgstr "Mostrar libros mejor valorados"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Libros leídos"
|
||||
|
||||
|
@ -586,7 +592,7 @@ msgid "Show read and unread"
|
|||
msgstr "Mostrar leídos y no leídos"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Libros no leídos"
|
||||
|
||||
|
@ -659,228 +665,233 @@ msgstr "Formatos de archivo"
|
|||
msgid "Show file formats selection"
|
||||
msgstr "Mostrar selección de formatos de archivo"
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Dato inesperado mientras se leía la información de actualización"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Actualización no disponible. Ya tienes la versión más reciente instalada"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Una nueva actualización está disponible. Haz clic en el botón inferior para actualizar a la versión más reciente."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "No se puede conseguir información sobre la actualización"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "No hay información del lanzamiento disponible"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo para actualizar a la versión: %(version)s"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr "Haz clic en el botón de abajo para actualizar a la última versión estable."
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Libros añadidos recientemente"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Libros mejor valorados"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Libros al azar"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr "Libros"
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Libros populares (los más descargados)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Error al abrir eBook. El archivo no existe o no es accesible:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr "Autor/es: %(name)s"
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Editor/es: "
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Series: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr "Calificación: %(rating)s estrellas"
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr "Formato del fichero: %(format)s"
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Categoría : %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Idioma: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Lista de editores"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Lista de series"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr "Lista de calificaciones"
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr "Lista de formatos"
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Idiomas disponibles"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Lista de categorías"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Publicado después de"
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Publicado antes de"
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Calificación <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Calificación >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "búsqueda"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Configura primero los parámetros del servidor SMTP..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Libro puesto en la cola de envío a %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Ha sucedido un error en el envío del libro: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "registrarse"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Su correo electrónico no está permitido para registrarse"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo electrónico."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Este nombre de usuario o correo electrónico ya están en uso."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "No se puede activar la autenticación LDAP"
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Sesión iniciada como : '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "No pude entrar a la cuenta. El servidor LDAP está inactivo, por favor contacte a su administrador"
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Usuario o contraseña inválido"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Ahora estás conectado como: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Token no encontrado"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "El token ha expirado"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "¡Correcto! Por favor regrese a su dispositivo"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Perfil de %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Perfil actualizado"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Leer un libro"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr "Error al abrir el eBook. El archivo no existe o el archivo no es accesible."
|
||||
|
||||
|
@ -1058,7 +1069,7 @@ msgstr "Ok"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Regresar"
|
||||
|
@ -1692,11 +1703,6 @@ msgstr "¿Realmente quiere eliminar esta regla de dominio?"
|
|||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr "Abrir una incidencia"
|
||||
|
@ -2056,7 +2062,7 @@ msgstr "Borrar este estante"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Editar estante"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Cambiar orden"
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-08-21 15:20+0100\n"
|
||||
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -31,17 +31,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "non installé"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statistiques"
|
||||
|
||||
|
@ -53,7 +51,7 @@ msgstr "Serveur redémarré, merci de rafraîchir la page"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Arrêt du serveur en cours, merci de fermer la fenêtre"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
|
@ -73,7 +71,7 @@ msgstr "Configuration de Calibre-Web mise à jour"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Configuration principale"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "SVP, complétez tous les champs !"
|
||||
|
||||
|
@ -82,7 +80,7 @@ msgstr "SVP, complétez tous les champs !"
|
|||
msgid "Add new user"
|
||||
msgstr "Ajouter un nouvel utilisateur"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
|
||||
|
||||
|
@ -109,7 +107,7 @@ msgstr "Courriel de test envoyé avec succès sur %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Il y a eu une erreur pendant l’envoi du courriel de test : %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Veuillez configurer votre adresse de courriel Kindle en premier lieu…"
|
||||
|
||||
|
@ -126,85 +124,93 @@ msgstr "Utilisateur '%(nick)s' supprimé"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur"
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Un compte existant a été trouvé pour cette adresse de courriel."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Éditer l'utilisateur %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Utilisateur '%(nick)s' mis à jour"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Oups ! Une erreur inconnue a eu lieu."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Visualiseur de fichier journal"
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Demander une mise à jour"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Téléchargement la mise à jour"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Décompression de la mise à jour"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Remplacement des fichiers"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Connexion à la base de donnée fermée"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Arrêt du serveur"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Mise à jour terminée, merci d’appuyer sur okay et de rafraîchir la page"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "La mise à jour a échoué :"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "Erreur HTTP"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Erreur de connexion"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Délai d'attente dépassé lors de l'établissement de connexion"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Erreur générale"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Erreur à l’ouverture du livre. Le fichier n’existe pas ou n’est pas accessible"
|
||||
|
@ -588,7 +594,7 @@ msgid "Show best rated books"
|
|||
msgstr "Montrer les livres les mieux notés"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Livres lus"
|
||||
|
||||
|
@ -597,7 +603,7 @@ msgid "Show read and unread"
|
|||
msgstr "Montrer lu et non-lu"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Livres non-lus"
|
||||
|
||||
|
@ -670,228 +676,233 @@ msgstr "Format de fichier"
|
|||
msgid "Show file formats selection"
|
||||
msgstr "Afficher la sélection des formats de fichiers"
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Données inattendues lors de la lecture des informations de mise à jour"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Aucune mise à jour disponible. Vous avez déjà la dernière version installée"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-dessous pour charger la dernière version."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "Impossible d'extraire les informations de mise à jour"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "Aucune information concernant cette version n’est disponible"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-dessous pour charger la version %(version)s"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr "Téléchargez la dernière version en cliquant sur le bouton ci-dessous."
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Ajouts récents"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Livres les mieux notés"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Livres au hasard"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr "Livres"
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Livres populaires (les plus téléchargés)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible :"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr "Auteur: %(name)s"
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Editeur : '%(name)s'"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Séries : %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr "Note: %(rating)s étoiles"
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr "Format de fichier: %(format)s"
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Catégorie : %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Langue : %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Liste des éditeurs"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Liste des séries"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Langues disponibles"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Liste des catégories"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Tâches"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Chercher"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Publié après le "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Publié avant le "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Évaluation <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Évaluation >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "recherche"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Veuillez configurer les paramètres SMTP au préalable…"
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Le livre a été mis en file de traitement avec succès pour un envois vers %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "s’enregistrer"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Le courriel de confirmation a été envoyé à votre adresse."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Ce nom d’utilisateur ou cette adresse de courriel sont déjà utilisés."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "Impossible d’activer l’authentification LDAP"
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "vous êtes maintenant connecté sous : '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "Impossible de se connecter. Serveur LDAP hors service, veuillez contacter votre administrateur"
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Mauvais nom d'utilisateur ou mot de passe"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "connexion"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Jeton non trouvé"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Jeton expiré"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Réussite! Merci de vous tourner vers votre appareil"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Profil de %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil mis à jour"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Lire un livre"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr "Erreur lors de l’ouverture d’un eBook. Le fichier n’existe pas ou le fichier n’est pas accessible."
|
||||
|
||||
|
@ -1069,7 +1080,7 @@ msgstr "Oui"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
@ -1703,11 +1714,6 @@ msgstr "Souhaitez-vous vraiment supprimer cette règle de domaine ?"
|
|||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Chercher"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr "Signaler un problème"
|
||||
|
@ -2067,7 +2073,7 @@ msgstr "Supprimer cette étagère"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Modifier l’étagère"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Modifier l’ordre"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: hu\n"
|
||||
|
@ -18,17 +18,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "nincs telepítve"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statisztika"
|
||||
|
||||
|
@ -40,7 +38,7 @@ msgstr "A kiszolgáló újraindult, tölts be újra az oldalt!"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "A kiszolgáló leállítása folyamatban, zárd be ezt az ablakot"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Ismeretlen"
|
||||
|
||||
|
@ -60,7 +58,7 @@ msgstr "A Calibre-Web konfigurációja frissítve."
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Alapvető beállítások"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Az összes mezőt ki kell tölteni!"
|
||||
|
||||
|
@ -69,7 +67,7 @@ msgstr "Az összes mezőt ki kell tölteni!"
|
|||
msgid "Add new user"
|
||||
msgstr "Új felhasználó hozzáadása"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Az e-mail tartománya nem érvényes."
|
||||
|
||||
|
@ -96,7 +94,7 @@ msgstr "A teszt levél sikeresen elküldve ide: %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Hiba történt a teszt levél küldése során: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Először be kell állítani a kindle e-mail címet..."
|
||||
|
||||
|
@ -113,85 +111,93 @@ msgstr "A felhasználó törölve: %(nick)s"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Már létezik felhasználó ehhez az e-mail címhez."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr " A felhasználó szerkesztése: %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "A felhasználó frissítve: %(nick)s"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Ismeretlen hiba történt."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Ismeretlen hiba történt. Próbáld újra később!"
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Frissítési csomag kérése"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Frissítési csomag letöltése"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Frissítési csomag kitömörítése"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Fájlok cserélése"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Adatbázis kapcsolatok lezárva"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Szerver leállítása"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "A frissítés települt, kattints az OK-ra és újra tölt az oldal"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "A frissítés nem sikerült:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP hiba"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Kapcsolódási hiba"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Időtúllépés a kapcsolódás során"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Általános hiba"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Hiba az ekönyv megnyitásakor. A fájl nem létezik vagy nem elérhető."
|
||||
|
@ -575,7 +581,7 @@ msgid "Show best rated books"
|
|||
msgstr "Legjobbra értékelt könyvek mutatása"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Olvasott könyvek"
|
||||
|
||||
|
@ -584,7 +590,7 @@ msgid "Show read and unread"
|
|||
msgstr "Mutassa az olvasva/olvasatlan állapotot"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Olvasatlan könyvek"
|
||||
|
||||
|
@ -657,228 +663,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Ismeretlen adat a frissítési információk olvasásakor"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Nem érhető el újabb frissítés. Már a legújabb verzió van telepítve."
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Egy új frissítés érhető el. Kattints a lenti gombra a legújabb verzió frissítésére"
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "Nem lehetett begyűjteni a frissítési információkat"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "Nincs információ a kiadásról."
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Új frissítés érhető el. Kattints az alábbi gombra a frissítéshez a következő verzióra: %(version)s"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Legutóbb hozzáadott könyvek"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Legjobbra értékelt könyvek"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Könyvek találomra"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Kelendő könyvek (legtöbbet letöltöttek)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Hiba történt az e-könyv megnyitásakor. A fájl nem létezik vagy nem érhető el:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Kiadó: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Sorozat: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Címke: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Nyelv: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Kiadók listája"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Sorozatok listája"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Elérhető nyelvek"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Címkék listája"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Feladatok"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Kiadva ezután: "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Kiadva ezelőtt: "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Értékelés <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Értékelés <= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "keresés"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Először be kell állítani az SMTP levelező beállításokat..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "A könyv sikeresen küldésre lett jelölve a következő címre: %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Hiba történt a könyv küldésekor: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "regisztrálás"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Jóváhagyó levél elküldve az email címedre."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Ez a felhasználónév vagy e-mail cím már használatban van."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Be vagy jelentkezve mint: %(nickname)s"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Rossz felhasználó név vagy jelszó!"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "belépés"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "A token nem található."
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "A token érvényessége lejárt."
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Sikerült! Újra használható az eszköz."
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s profilja"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "A profil frissítve."
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Egy olvasott könyv"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1056,7 +1067,7 @@ msgstr "OK"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Vissza"
|
||||
|
@ -1690,11 +1701,6 @@ msgstr "Valóban törölni akarod ezt a tartomány-szabályt?"
|
|||
msgid "Next"
|
||||
msgstr "Következő"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2054,7 +2060,7 @@ msgstr "Polc törlése"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Polc szerkesztése"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Sorrend változtatása"
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
|
||||
"Last-Translator: Marco Picone <marcovendere@gmail.com>\n"
|
||||
"Language: it\n"
|
||||
|
@ -17,17 +17,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "non installato"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statistica"
|
||||
|
||||
|
@ -39,7 +37,7 @@ msgstr "Server riavviato, per favore ricarica la pagina"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Eseguo l'arresto del server, per favore chiudi la finestra."
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
||||
|
@ -59,7 +57,7 @@ msgstr "Aggiornamento della configurazione di Calibre-Web"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Configurazione di base"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Per favore compila tutti i campi!"
|
||||
|
||||
|
@ -68,7 +66,7 @@ msgstr "Per favore compila tutti i campi!"
|
|||
msgid "Add new user"
|
||||
msgstr "Aggiungi un nuovo utente"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "L'e-mail non proviene da un dominio valido"
|
||||
|
||||
|
@ -95,7 +93,7 @@ msgstr "E-mail di test inviato con successo a %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Si è verificato un errore nell'invio dell'e-mail di test: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Per favore configura dapprima il tuo indirizzo e-mail di Kindle..."
|
||||
|
||||
|
@ -112,85 +110,93 @@ msgstr "Utente '%(nick)s' eliminato"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Ho trovato un account creato in precedenza con questo e-mail."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Modifica utente %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Utente '%(nick)s' aggiornato"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Si è verificato un errore imprevisto."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "La password dell'utente %(user)s è stata resettata"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Si è verificato un errore sconosciuto: per favore riprova."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Richiesta del pacchetto di aggiornamento"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Scarico il pacchetto di aggiornamento"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Decomprimo il pacchetto di aggiornamento"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Sostituzione files"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Le connessioni al database sono chiuse"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Arresta il server"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Aggiornamento completato, prego premere ok e ricaricare la pagina"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Aggiornamento fallito:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP Error"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Errore di connessione"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Tempo scaduto nello stabilire la connessione"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Errore generale"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Errore durante l'apertura del libro. Il file non esiste o il file non è accessibile"
|
||||
|
@ -574,7 +580,7 @@ msgid "Show best rated books"
|
|||
msgstr "Mostra la sezione dei libri più votati"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Libri da leggere"
|
||||
|
||||
|
@ -583,7 +589,7 @@ msgid "Show read and unread"
|
|||
msgstr "Mostra letto e non letto"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Libri non letti"
|
||||
|
||||
|
@ -656,228 +662,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Dati inattesi durante il processo di aggiornamento"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Nessun aggiornamento disponibile. Hai già installato l'ultima versione disponibile"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Nuovo aggiornamento disponibile. Clicca sul pulsante sottostante per aggiornare all'ultima versione."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "Impossibile recuperare informazioni di aggiornamento"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "Non sono disponibili informazioni sulla versione"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Nuovo aggiornamento disponibile. Clicca sul pulsante sottostante per aggiornare alla versione: %(version)s"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Libri aggiunti di recente"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "I libri con le migliori valutazioni"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Libri a caso"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "I libri più richiesti"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Errore durante l'apertura del libro. Il file non esiste o il file non è accessibile:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Editore: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Serie: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Categoria: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Lingua: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Lista degli editori"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Lista delle serie"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Lingue disponibili"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Elenco categorie"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Compito"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Pubblicato dopo "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Pubblicato prima "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Valutazione <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Valutazione >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "ricerca"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Configurare dapprima le impostazioni del server SMTP..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Libro accodato con successo per essere spedito a %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Si è verificato un errore durante l'invio di questo libro: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "registra"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Il tuo e-mail non può essere utilizzato per la registrazione"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Un e-mail di conferma è stato inviato al tuo indirizzo."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Questo nome di utente o questo e-mail sono già utilizzati."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "ora sei connesso come: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Nome utente o password errati"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "accedi"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Token non trovato"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Il token è scaduto"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Successo! Torna al tuo dispositivo"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Profilo di %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilo aggiornato"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Leggere un libro"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1055,7 +1066,7 @@ msgstr "Ok"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
@ -1689,11 +1700,6 @@ msgstr "Vuoi veramente eliminare questa regola di dominio?"
|
|||
msgid "Next"
|
||||
msgstr "Prossimo"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2053,7 +2059,7 @@ msgstr "Cancellare questo scaffale"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Modifica scaffale"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Cambia ordine"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
|
||||
"Last-Translator: white <space_white@yahoo.com>\n"
|
||||
"Language: ja\n"
|
||||
|
@ -18,17 +18,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "インストールされていません"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "統計"
|
||||
|
||||
|
@ -40,7 +38,7 @@ msgstr "サーバを再起動しました。ページを再読み込みしてく
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "サーバをシャットダウンしています。ページを閉じてください"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "不明"
|
||||
|
||||
|
@ -60,7 +58,7 @@ msgstr "Calibre-Web の設定を更新しました"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "基本設定"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "全ての項目を入力してください"
|
||||
|
||||
|
@ -69,7 +67,7 @@ msgstr "全ての項目を入力してください"
|
|||
msgid "Add new user"
|
||||
msgstr "新規ユーザ追加"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "このメールは有効なドメインからのものではありません"
|
||||
|
||||
|
@ -96,7 +94,7 @@ msgstr "テストメールが %(kindlemail)s に送信されました"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "テストメールを %(res)s に送信中にエラーが発生しました"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "初めにKindleのメールアドレスを設定してください"
|
||||
|
||||
|
@ -113,85 +111,93 @@ msgstr "ユーザ '%(nick)s' を削除しました"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "このメールアドレスで登録されたアカウントがあります"
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "%(nick)s を編集"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "ユーザ '%(nick)s' を更新しました"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "不明なエラーが発生しました。"
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "%(user)s 用のパスワードをリセット"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "不明なエラーが発生しました。あとで再試行してください。"
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "更新データを要求中"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "更新データをダウンロード中"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "更新データを展開中"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "ファイルを置換中"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "データベースの接続を切断完了"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "サーバ停止中"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "アップデート完了、OKを押してページをリロードしてください"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "アップデート失敗:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTPエラー"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "接続エラー"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "接続を確立中にタイムアウトしました"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "エラー発生"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "電子書籍を開けません。ファイルが存在しないかアクセスできません"
|
||||
|
@ -575,7 +581,7 @@ msgid "Show best rated books"
|
|||
msgstr "評価が高い本を表示"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "読んだ本"
|
||||
|
||||
|
@ -584,7 +590,7 @@ msgid "Show read and unread"
|
|||
msgstr "既読の本と未読の本を表示"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "未読の本"
|
||||
|
||||
|
@ -657,228 +663,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "アップデート情報を読み込み中に予期しないデータが見つかりました"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "アップデートはありません。すでに最新バージョンがインストールされています"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "アップデートが利用可能です。下のボタンをクリックして最新バージョンにアップデートしてください。"
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "アップデート情報を取得できません"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "リリース情報がありません"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "アップデートが利用可能です。下のボタンをクリックしてバージョン: %(version)s にアップデートしてください。"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "最近追加された本"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "高評価"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "ランダム"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "話題(ダウンロード数順)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "電子書籍を開けません。ファイルが存在しないかアクセスできません:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "出版社: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "シリーズ: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "カテゴリ: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "言語: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "出版社一覧"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "シリーズ一覧"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "言語"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "カテゴリ一覧"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "タスク"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "検索"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "これ以降に出版 "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "これ以前に出版 "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "評価 <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "評価 >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "検索"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "初めにSMTPメールの設定をしてください"
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "本の %(kindlemail)s への送信がキューに追加されました"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "%(res)s を送信中にエラーが発生しました"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "登録"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "このメールアドレスは登録が許可されていません"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "確認メールがこのメールアドレスに送信されました。"
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "このユーザ名またはメールアドレスはすでに使われています。"
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "%(nickname)s としてログイン中"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "ユーザ名またはパスワードが違います"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "ログイン"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "トークンが見つかりません"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "トークンが無効です"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "成功です!端末に戻ってください"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s のプロフィール"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "プロフィールを更新しました"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "本を読む"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1056,7 +1067,7 @@ msgstr "はい"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "戻る"
|
||||
|
@ -1690,11 +1701,6 @@ msgstr "このドメインルールを削除してもよろしいですか?"
|
|||
msgid "Next"
|
||||
msgstr "次"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "検索"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2054,7 +2060,7 @@ msgstr "この本棚を削除"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "本棚を編集"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "順番を変更"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: km_KH\n"
|
||||
|
@ -19,17 +19,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "មិនបានតម្លើង"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "ស្ថិតិ"
|
||||
|
||||
|
@ -41,7 +39,7 @@ msgstr "ម៉ាស៊ីន server បានដំណើរការម្ត
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "កំពុងបិទម៉ាស៊ីន server សូមបិទផ្ទាំងនេះ"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "មិនដឹង"
|
||||
|
||||
|
@ -61,7 +59,7 @@ msgstr ""
|
|||
msgid "Basic Configuration"
|
||||
msgstr "ការកំណត់សាមញ្ញ"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "សូមបំពេញចន្លោះទាំងអស់!"
|
||||
|
||||
|
@ -70,7 +68,7 @@ msgstr "សូមបំពេញចន្លោះទាំងអស់!"
|
|||
msgid "Add new user"
|
||||
msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr ""
|
||||
|
||||
|
@ -97,7 +95,7 @@ msgstr ""
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -114,85 +112,93 @@ msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូ
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "បញ្ហាដែលមិនដឹងបានកើតឡើង។"
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ ពុំមានឯកសារ ឬឯកសារនេះមិនអាចបើកបាន"
|
||||
|
@ -576,7 +582,7 @@ msgid "Show best rated books"
|
|||
msgstr "បង្ហាញសៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "សៀវភៅដែលបានអានរួច"
|
||||
|
||||
|
@ -585,7 +591,7 @@ msgid "Show read and unread"
|
|||
msgstr "បង្ហាញអានរួច និងមិនទាន់អាន"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "សៀវភៅដែលមិនទាន់បានអាន"
|
||||
|
||||
|
@ -658,228 +664,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "សៀវភៅដែលទើបបានបន្ថែម"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "សៀវភៅដែលត្រូវបានវាយតម្លៃល្អជាងគេ"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "សៀវភៅចៃដន្យ"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ មិនមានឯកសារនេះ ឬមិនអាចបើកបាន៖"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "ស៊េរី៖ %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "ប្រភេទ៖ %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "ភាសា៖ %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "បញ្ជីស៊េរី"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "ភាសាដែលមាន"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "បញ្ជីប្រភេទ"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "កិច្ចការនានា"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "ស្វែងរក"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "បានបោះពុម្ភក្រោយ "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "បានបោះពុម្ភមុន "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "ការវាយតម្លៃ <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "ការវាយតម្លៃ >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "ស្វែងរក"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន"
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "ចុះឈ្មោះ"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "ចូលប្រើ"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "រកមិនឃើញវត្ថុតាង"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "វត្ថុតាងហួសពេលកំណត់"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "អានសៀវភៅ"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1057,7 +1068,7 @@ msgstr "បាទ/ចាស"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "មកក្រោយ"
|
||||
|
@ -1691,11 +1702,6 @@ msgstr ""
|
|||
msgid "Next"
|
||||
msgstr "បន្ទាប់"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "ស្វែងរក"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2055,7 +2061,7 @@ msgstr "លុបធ្នើនេះ"
|
|||
msgid "Edit Shelf"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "ប្តូរលំដាប់"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web (GPLV3)\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-06-17 22:37+0200\n"
|
||||
"Last-Translator: Marcel Maas <marcel.maas@outlook.com>\n"
|
||||
"Language: nl\n"
|
||||
|
@ -19,17 +19,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "niet geïnstalleerd"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statistieken"
|
||||
|
||||
|
@ -41,7 +39,7 @@ msgstr "De server is herstart; vernieuw de pagina"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Bezig het stoppen van server; sluit het venster"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Onbekend"
|
||||
|
||||
|
@ -61,7 +59,7 @@ msgstr "Calibre-Web-configuratie bijgewerkt"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Basis configuratie"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Vul alle velden in!"
|
||||
|
||||
|
@ -70,7 +68,7 @@ msgstr "Vul alle velden in!"
|
|||
msgid "Add new user"
|
||||
msgstr "Nieuwe gebruiker toevoegen"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Het e-mailadres bevat geen geldige domeinnaam"
|
||||
|
||||
|
@ -97,7 +95,7 @@ msgstr "Test-e-mail verstuurd naar %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Fout opgetreden bij het versturen van de test-e-mail: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Stel je kindle-e-mailadres in..."
|
||||
|
||||
|
@ -114,85 +112,93 @@ msgstr "Gebruiker '%(nick)s' is verwijderd"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "Kan laatste systeembeheerder niet verwijderen"
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Bestaand account met dit e-mailadres aangetroffen."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Gebruiker '%(nick)s' bewerken"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Gebruiker '%(nick)s' bijgewerkt"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Er is een onbekende fout opgetreden."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Wachtwoord voor gebruiker %(user)s is hersteld"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Onbekende fout opgetreden. Probeer het later nog eens."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Bezig met opvragen van updatepakket"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Bezig met downloaden van updatepakket"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Bezig met uitpakken van updatepakket"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Bezig met bestandsvervanging"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Databankverbindingen zijn gesloten"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Bezig met stoppen van server"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Update voltooid; klik op 'Oké' en vernieuw de pagina"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Update mislukt:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP-fout"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Verbindingsfout"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Time-out tijdens maken van verbinding"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Algemene fout"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Kan e-boek niet openen: het bestand bestaat niet of is ontoegankelijk"
|
||||
|
@ -576,7 +582,7 @@ msgid "Show best rated books"
|
|||
msgstr "Best beoordeelde boeken tonen"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Gelezen boeken"
|
||||
|
||||
|
@ -585,7 +591,7 @@ msgid "Show read and unread"
|
|||
msgstr "Gelezen/Ongelezen boeken tonen"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Ongelezen boeken"
|
||||
|
||||
|
@ -658,228 +664,233 @@ msgstr "Bestandsformaten"
|
|||
msgid "Show file formats selection"
|
||||
msgstr "Bestandsformaten tonen"
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Onverwachte gegevens tijdens het uitlezen van de update-informatie"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Geen update beschikbaar. Je beschikt al over de nieuwste versie"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten naar de nieuwste versie."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "De update-informatie kan niet worden opgehaald"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr "Geen wijzigingslog beschikbaar"
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten naar versie: %(version)s"
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr "Druk op onderstaande knop om de laatste stabiele versie te installeren."
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Recent toegevoegde boeken"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Best beoordeelde boeken"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Willekeurige boeken"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr "Boeken"
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Populaire boeken (meest gedownload)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Kan e-boek niet openen. Het bestand bestaat niet of is niet toegankelijk:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr "Auteur: %(name)s"
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Uitgever: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Reeks: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr "Beoordeling: %(rating)s sterren"
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr "Bestandsformaat: %(format)s"
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Categorie: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Taal: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Uitgeverslijst"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Boekenreeksen"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr "Beoordelingen"
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr "Alle bestandsformaten"
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Beschikbare talen"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Categorielijst"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Taken"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Gepubliceerd na "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Gepubliceerd vóór "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Beoordeling <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Beoordeling >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "zoeken"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Stel eerst SMTP-mail in..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Fout opgetreden bij het versturen van dit boek: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "registreren"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Er is een bevestigingse-mail verstuurd naar je e-mailadres."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Deze gebruikersnaam of e-mailadres is al in gebruik."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "je bent ingelogd als: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "Kan niet inloggen, LDAP server niet bereikbaar, contacteer de beheerder"
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Verkeerde gebruikersnaam of wachtwoord"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Je bent ingelogd als: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "inloggen"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Toegangssleutel niet gevonden"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Toegangssleutel is verlopen"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Gelukt! Ga terug naar je apparaat"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s's profiel"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Profiel bijgewerkt"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Lees een boek"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1057,7 +1068,7 @@ msgstr "Oké"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Annuleren"
|
||||
|
@ -1691,11 +1702,6 @@ msgstr "Weet je zeker dat je deze domeinregel wilt verwijderen?"
|
|||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr "Probleem melden"
|
||||
|
@ -2055,7 +2061,7 @@ msgstr "Deze boekenplank verwijderen"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Boekenplank bewerken"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Volgorde veranderen"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre Web - polski (POT: 2019-08-06 18:35)\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2019-08-18 22:06+0200\n"
|
||||
"Last-Translator: Radosław Kierznowski <radek.kierznowski@outlook.com>\n"
|
||||
"Language: pl\n"
|
||||
|
@ -19,17 +19,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr "zainstalowane"
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "nie zainstalowane"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Statystyki"
|
||||
|
||||
|
@ -42,7 +40,7 @@ msgid "Performing shutdown of server, please close window"
|
|||
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
|
||||
|
||||
# ???
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Nieznany"
|
||||
|
||||
|
@ -62,7 +60,7 @@ msgstr "Konfiguracja Calibre-Web została zaktualizowana"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Podstawowa konfiguracja"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Proszę wypełnić wszystkie pola!"
|
||||
|
||||
|
@ -71,7 +69,7 @@ msgstr "Proszę wypełnić wszystkie pola!"
|
|||
msgid "Add new user"
|
||||
msgstr "Dodaj nowego użytkownika"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "E-mail nie pochodzi z prawidłowej domeny"
|
||||
|
||||
|
@ -98,7 +96,7 @@ msgstr "Test e-maila zakończony pomyślnie. Wysłano do %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Wystąpił błąd podczas wysyłania e-maila testowego: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Najpierw skonfiguruj adres e-mail Kindla..."
|
||||
|
||||
|
@ -115,87 +113,95 @@ msgstr "Użytkownik '%(nick)s' został usunięty"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "Nie można usunąć użytkownika. Brak na serwerze innego konta z prawami administratora"
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Edytuj użytkownika %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Wystąpił nieznany błąd."
|
||||
|
||||
# ???
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Zrestartowano hasło użytkownika %(user)s"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Przeglądanie plików Logu"
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Żądanie o pakiet aktualizacji"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Pobieranie pakietu aktualizacji"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Rozpakowywanie pakietu aktualizacji"
|
||||
|
||||
# ???
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Zastępowanie plików"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Połączenia z bazą danych zostały zakończone"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Zatrzymywanie serwera"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Aktualizacja nieudana:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Przekroczono limit czasu podczas nawiązywania połączenia"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Błąd podczas otwierania eBooka. Plik nie istnieje lub jest niedostępny"
|
||||
|
@ -583,7 +589,7 @@ msgid "Show best rated books"
|
|||
msgstr "Pokaż menu najlepiej ocenione książki"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Przeczytane książki"
|
||||
|
||||
|
@ -592,7 +598,7 @@ msgid "Show read and unread"
|
|||
msgstr "Pokaż menu przeczytane i nieprzeczytane"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Nieprzeczytane książki"
|
||||
|
||||
|
@ -665,228 +671,233 @@ msgstr "Format plików"
|
|||
msgid "Show file formats selection"
|
||||
msgstr "Pokaż menu formatu plików"
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Ostatnio dodane książki"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Najlepiej oceniane książki"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Losowe książki"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr "Książki"
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
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:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr "Autor: %(name)s"
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Wydawca: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Seria: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr "Ocena: %(rating)s gwiazdek"
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr "Format pliku: %(format)s"
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Kategoria: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Język: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Lista wydawców"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Lista serii"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr "Lista z ocenami"
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr "Lista formatów"
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Dostępne języki"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Lista kategorii"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr " Zadania"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Opublikowane po "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Opublikowane przed "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Ocena <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Ocena >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "szukaj"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Książka została umieszczona w kolejce do wysłania do %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "rejestracja"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Twój e-mail nie może się zarejestrować"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Wiadomość e-mail z potwierdzeniem została wysłana na Twoje konto e-mail."
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Ta nazwa użytkownika lub adres e-mail jest już używany."
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "Nie można aktywować uwierzytelniania LDAP"
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Zalogowałeś się jako: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "Brak możliwości zalogowania. Serwer LDAP jest niedostępny, skontaktuj się z administratorem"
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Błędna nazwa użytkownika lub hasło"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "logowanie"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Nie znaleziono tokenu"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Token wygasł"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Powodzenie! Wróć do swojego urządzenia"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Profil użytkownika %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Zaktualizowano profil"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Czytaj książkę"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr "Błąd podczas otwierania eBooka. Plik nie istnieje lub plik jest niedostępny."
|
||||
|
||||
|
@ -1066,7 +1077,7 @@ msgstr "OK"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Wróć"
|
||||
|
@ -1705,11 +1716,6 @@ msgstr ""
|
|||
msgid "Next"
|
||||
msgstr "Następne"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
# | msgid "Create a Shelf"
|
||||
#: cps/templates/http_error.html:37
|
||||
#, fuzzy
|
||||
|
@ -2075,7 +2081,7 @@ msgstr "Usuń tą półkę"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Edytuj półkę"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Zmień sortowanie"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2018-12-14 16:26+0300\n"
|
||||
"Last-Translator: Pavel Korovin <p@tristero.se>\n"
|
||||
"Language: ru\n"
|
||||
|
@ -18,17 +18,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "не установлено"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Статистика"
|
||||
|
||||
|
@ -40,7 +38,7 @@ msgstr "Сервер перезагружен, пожалуйста, перез
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Производится остановка сервера, пожалуйста, закройте окно"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно"
|
||||
|
||||
|
@ -60,7 +58,7 @@ msgstr "Конфигурация Calibre-Web обновлена"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Настройки сервера"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Пожалуйста, заполните все поля!"
|
||||
|
||||
|
@ -69,7 +67,7 @@ msgstr "Пожалуйста, заполните все поля!"
|
|||
msgid "Add new user"
|
||||
msgstr "Добавить пользователя"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "E-mail не из существующей доменной зоны"
|
||||
|
||||
|
@ -96,7 +94,7 @@ msgstr "Тестовое письмо успешно отправлено на %
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "Произошла ошибка при отправке тестового письма на: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..."
|
||||
|
||||
|
@ -113,85 +111,93 @@ msgstr "Пользователь '%(nick)s' удалён"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Этот адрес электронной почты уже зарегистрирован."
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Изменить пользователя %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Пользователь '%(nick)s' обновлён"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Произошла неизвестная ошибка."
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Пароль для пользователя %(user)s сброшен"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Неизвестная ошибка. Попробуйте позже."
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Проверка обновлений"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Загрузка обновлений"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Распаковка обновлений"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "Замена файлов"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Соеднинения с базой данных закрыты"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "Остановка сервера"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Обновления установлены, нажмите okay и перезагрузите страницу"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "Ошибка обновления:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "Ошибка HTTP"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Ошибка соединения"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Таймаут при установлении соединения"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Общая ошибка"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Ошибка при открытии eBook. Файл не существует или файл недоступен"
|
||||
|
@ -575,7 +581,7 @@ msgid "Show best rated books"
|
|||
msgstr "Показывать книги с наивысшим рейтингом"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Прочитанные Книги"
|
||||
|
||||
|
@ -584,7 +590,7 @@ msgid "Show read and unread"
|
|||
msgstr "Показывать прочитанные и непрочитанные"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Непрочитанные Книги"
|
||||
|
||||
|
@ -657,228 +663,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "Некорректные данные при чтении информации об обновлении"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "Обновление недоступно. Вы используете самую последнюю версию"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "Доступно обновление. Нажмите на кнопку, что бы обновиться до последней версии."
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "Не удалось получить информацию об обновлении"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Недавно Добавленные Книги"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Книги с наивысшим рейтингом"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Случайный выбор"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Популярные книги (часто загружаемые)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Невозможно открыть книгу. Файл не существует или недоступен."
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "Издатель: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Серии: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Категория: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Язык: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "Список издателей"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Серии"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Доступные языки"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Категории"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "Задания"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "Опубликовано до "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Опубликовано после "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Рейтинг <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Рейтинг >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "поиск"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Пожалуйста, сначала сконфигурируйте параметры SMTP"
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Ошибка при отправке книги: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "регистрация"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Ваш e-mail не подходит для регистрации"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Письмо с подтверждением отправлено вам на e-mail"
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Этот никнейм или e-mail уже используются"
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Вы вошли как пользователь '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Ошибка в имени пользователя или пароле"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "войти"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Ключ не найден"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Ключ просрочен"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Успешно! Пожалуйста, проверьте свое устройство"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Профиль %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Профиль обновлён"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Читать Книгу"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1056,7 +1067,7 @@ msgstr "Ok"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
@ -1690,11 +1701,6 @@ msgstr "Вы действительно желаете удалить это п
|
|||
msgid "Next"
|
||||
msgstr "Дальше"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2054,7 +2060,7 @@ msgstr "Удалить эту книжную полку"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "Изменить Полку"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Изменить порядок"
|
||||
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
|
||||
"Last-Translator: ABIS Team <biblio.if.abis@gmail.com>\n"
|
||||
"Language: uk\n"
|
||||
|
@ -17,17 +17,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "не встановлено"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "Статистика"
|
||||
|
||||
|
@ -39,7 +37,7 @@ msgstr "Сервер перезавантажено, будь-ласка, пер
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "Виконується зупинка серверу, будь-ласка, закрийте вікно"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "Невідомий"
|
||||
|
||||
|
@ -59,7 +57,7 @@ msgstr ""
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Настройки сервера"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Будь-ласка, заповніть всі поля!"
|
||||
|
||||
|
@ -68,7 +66,7 @@ msgstr "Будь-ласка, заповніть всі поля!"
|
|||
msgid "Add new user"
|
||||
msgstr "Додати користувача"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr ""
|
||||
|
||||
|
@ -95,7 +93,7 @@ msgstr ""
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -112,85 +110,93 @@ msgstr "Користувача '%(nick)s' видалено"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Змінити користувача %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "Користувача '%(nick)s' оновлено"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "Сталась невідома помилка"
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "Перевірка оновлень"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "Завантаження оновлень"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Розпакування оновлення"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "З'єднання з базою даних закрите"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Сталась помилка при відкриванні eBook. Файл не існує або відсутній доступ до нього"
|
||||
|
@ -574,7 +580,7 @@ msgid "Show best rated books"
|
|||
msgstr "Показувати книги з найвищим рейтингом"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "Прочитані книги"
|
||||
|
||||
|
@ -583,7 +589,7 @@ msgid "Show read and unread"
|
|||
msgstr "Показувати прочитані та непрочитані книги"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "Непрочитані книги"
|
||||
|
||||
|
@ -656,228 +662,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "Нещодавно додані книги"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "Книги з найкращим рейтингом"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "Випадковий список книг"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Популярні книги (найбільш завантажувані)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу."
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "Серії: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "Категорія: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "Мова: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "Список серій"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "Доступні мови"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "Список категорій"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "Опубліковано до"
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "пошук"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP"
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Помилка при відправці книги: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "зареєструватись"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Ви увійшли як користувач: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Помилка в імені користувача або паролі"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "увійти"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "Токен не знайдено"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Час дії токено вичерпано"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Профіль %(name)s"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "Профіль оновлено"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "Читати книгу"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1055,7 +1066,7 @@ msgstr "Ok"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
@ -1689,11 +1700,6 @@ msgstr ""
|
|||
msgid "Next"
|
||||
msgstr "Далі"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2053,7 +2059,7 @@ msgstr "Видалити цю книжкову полицю"
|
|||
msgid "Edit Shelf"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "Змінити порядок"
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2019-09-06 19:03+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
|
||||
"Last-Translator: dalin <dalin.lin@gmail.com>\n"
|
||||
"Language: zh_Hans_CN\n"
|
||||
|
@ -18,17 +18,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr "未安装"
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr "统计"
|
||||
|
||||
|
@ -40,7 +38,7 @@ msgstr "服务器已重启,请刷新页面"
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr "正在关闭服务器,请关闭窗口"
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
|
@ -60,7 +58,7 @@ msgstr "Calibre-Web配置已更新"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "基本配置"
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1050
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "请填写所有字段"
|
||||
|
||||
|
@ -69,7 +67,7 @@ msgstr "请填写所有字段"
|
|||
msgid "Add new user"
|
||||
msgstr "添加新用户"
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1253
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "邮箱不在有效域中'"
|
||||
|
||||
|
@ -96,7 +94,7 @@ msgstr "测试邮件已经被成功发到 %(kindlemail)s"
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr "发送测试邮件出错了: %(res)s"
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1033
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "请先配置您的kindle邮箱..."
|
||||
|
||||
|
@ -113,85 +111,93 @@ msgstr "用户 '%(nick)s' 已被删除"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1279
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "找到一个已有账号使用这个邮箱。"
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "编辑用户 %(nick)s"
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr "用户 '%(nick)s' 已被更新"
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr "发生未知错误。"
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr "用户 %(user)s 的密码已重置"
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1075
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "发生一个未知错误,请稍后再试。"
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr "正在请求更新包"
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr "正在下载更新包"
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr "正在解压更新包"
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr "正在替换文件"
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr "数据库连接已关闭"
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr "正在停止服务器"
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "更新完成,请按确定并刷新页面"
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr "更新失败:"
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP错误"
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "连接错误"
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "建立连接超时"
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "一般错误"
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "打开电子书出错。文件不存在或不可访问"
|
||||
|
@ -575,7 +581,7 @@ msgid "Show best rated books"
|
|||
msgstr "显示最高评分书籍"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:971
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr "已读书籍"
|
||||
|
||||
|
@ -584,7 +590,7 @@ msgid "Show read and unread"
|
|||
msgstr "显示已读和未读"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:975
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr "未读书籍"
|
||||
|
||||
|
@ -657,228 +663,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr "读取更新信息时出现异常数据"
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr "没有可用更新。您已经安装了最新版本"
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr "有一个更新可用。点击正文按钮更新到最新版本。"
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr "无法获取更新信息"
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:460
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr "最近添加的书籍"
|
||||
|
||||
#: cps/web.py:488
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr "最高评分书籍"
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:496
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr "随机书籍"
|
||||
|
||||
#: cps/web.py:522
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:549
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "热门书籍(最多下载)"
|
||||
|
||||
#: cps/web.py:560 cps/web.py:1300 cps/web.py:1388
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "无法打开电子书。 文件不存在或者文件不可访问:"
|
||||
|
||||
#: cps/web.py:573
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:585
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr "出版社: %(name)s"
|
||||
|
||||
#: cps/web.py:596
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr "丛书: %(serie)s"
|
||||
|
||||
#: cps/web.py:607
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:618
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:630
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr "分类: %(name)s"
|
||||
|
||||
#: cps/web.py:647
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr "语言: %(name)s"
|
||||
|
||||
#: cps/web.py:679
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr "出版社列表"
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:695
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr "丛书列表"
|
||||
|
||||
#: cps/web.py:709
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:722
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:750
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr "可用语言"
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:767
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr "分类列表"
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:781
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr "任务"
|
||||
|
||||
#: cps/web.py:846
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr "出版时晚于 "
|
||||
|
||||
#: cps/web.py:853
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr "出版时早于 "
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "评分 <= %(rating)s"
|
||||
|
||||
#: cps/web.py:869
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "评分 >= %(rating)s"
|
||||
|
||||
#: cps/web.py:929 cps/web.py:939
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: cps/web.py:1022
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "请先配置SMTP邮箱..."
|
||||
|
||||
#: cps/web.py:1027
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "书籍已经被成功加入 %(kindlemail)s 的发送队列"
|
||||
|
||||
#: cps/web.py:1031
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "发送这本书的时候出现错误: %(res)s"
|
||||
|
||||
#: cps/web.py:1051 cps/web.py:1076 cps/web.py:1080 cps/web.py:1085
|
||||
#: cps/web.py:1089
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr "注册"
|
||||
|
||||
#: cps/web.py:1078
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "您的邮箱不能用来注册"
|
||||
|
||||
#: cps/web.py:1081
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "确认邮件已经发送到您的邮箱。"
|
||||
|
||||
#: cps/web.py:1084
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "这个用户名或者邮箱已经被使用。"
|
||||
|
||||
#: cps/web.py:1099
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1108 cps/web.py:1214
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "您现在已以'%(nickname)s'身份登录"
|
||||
|
||||
#: cps/web.py:1112
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1116 cps/web.py:1124
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "用户名或密码错误"
|
||||
|
||||
#: cps/web.py:1120
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1128 cps/web.py:1150
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr "登录"
|
||||
|
||||
#: cps/web.py:1162 cps/web.py:1193
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr "找不到Token"
|
||||
|
||||
#: cps/web.py:1170 cps/web.py:1201
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr "Token已过期"
|
||||
|
||||
#: cps/web.py:1178
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "成功!请返回您的设备"
|
||||
|
||||
#: cps/web.py:1255 cps/web.py:1282 cps/web.py:1286
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s 的资料"
|
||||
|
||||
#: cps/web.py:1284
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr "资料已更新"
|
||||
|
||||
#: cps/web.py:1310 cps/web.py:1312 cps/web.py:1314 cps/web.py:1320
|
||||
#: cps/web.py:1324
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr "阅读一本书"
|
||||
|
||||
#: cps/web.py:1334
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1056,7 +1067,7 @@ msgstr "确定"
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr "后退"
|
||||
|
@ -1690,11 +1701,6 @@ msgstr "您确定要删除这条域名规则吗?"
|
|||
msgid "Next"
|
||||
msgstr "下一个"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2054,7 +2060,7 @@ msgstr "删除此书架"
|
|||
msgid "Edit Shelf"
|
||||
msgstr "编辑书架"
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr "修改顺序"
|
||||
|
||||
|
|
|
@ -21,9 +21,6 @@ from __future__ import division, print_function, unicode_literals
|
|||
import os
|
||||
import hashlib
|
||||
from tempfile import gettempdir
|
||||
|
||||
from flask_babel import gettext as _
|
||||
|
||||
from . import logger, comic
|
||||
from .constants import BookMeta
|
||||
|
||||
|
@ -68,16 +65,13 @@ except ImportError as e:
|
|||
use_fb2_meta = False
|
||||
|
||||
try:
|
||||
from PIL import Image
|
||||
from PIL import Image as PILImage
|
||||
from PIL import __version__ as PILversion
|
||||
use_PIL = True
|
||||
except ImportError as e:
|
||||
log.debug('cannot import Pillow, using png and webp images as cover will not work: %s', e)
|
||||
use_generic_pdf_cover = True
|
||||
use_PIL = False
|
||||
|
||||
|
||||
|
||||
__author__ = 'lemmsh'
|
||||
|
||||
|
||||
|
@ -149,51 +143,11 @@ def pdf_preview(tmp_file_path, tmp_dir):
|
|||
if use_generic_pdf_cover:
|
||||
return None
|
||||
else:
|
||||
if use_PIL:
|
||||
try:
|
||||
input1 = PdfFileReader(open(tmp_file_path, 'rb'), strict=False)
|
||||
page0 = input1.getPage(0)
|
||||
xObject = page0['/Resources']['/XObject'].getObject()
|
||||
|
||||
for obj in xObject:
|
||||
if xObject[obj]['/Subtype'] == '/Image':
|
||||
size = (xObject[obj]['/Width'], xObject[obj]['/Height'])
|
||||
data = xObject[obj]._data # xObject[obj].getData()
|
||||
if xObject[obj]['/ColorSpace'] == '/DeviceRGB':
|
||||
mode = "RGB"
|
||||
else:
|
||||
mode = "P"
|
||||
if '/Filter' in xObject[obj]:
|
||||
if xObject[obj]['/Filter'] == '/FlateDecode':
|
||||
img = Image.frombytes(mode, size, data)
|
||||
cover_file_name = os.path.splitext(tmp_file_path)[0] + ".cover.png"
|
||||
img.save(filename=os.path.join(tmp_dir, cover_file_name))
|
||||
return cover_file_name
|
||||
# img.save(obj[1:] + ".png")
|
||||
elif xObject[obj]['/Filter'] == '/DCTDecode':
|
||||
cover_file_name = os.path.splitext(tmp_file_path)[0] + ".cover.jpg"
|
||||
img = open(cover_file_name, "wb")
|
||||
img.write(data)
|
||||
img.close()
|
||||
return cover_file_name
|
||||
elif xObject[obj]['/Filter'] == '/JPXDecode':
|
||||
cover_file_name = os.path.splitext(tmp_file_path)[0] + ".cover.jp2"
|
||||
img = open(cover_file_name, "wb")
|
||||
img.write(data)
|
||||
img.close()
|
||||
return cover_file_name
|
||||
else:
|
||||
img = Image.frombytes(mode, size, data)
|
||||
cover_file_name = os.path.splitext(tmp_file_path)[0] + ".cover.png"
|
||||
img.save(filename=os.path.join(tmp_dir, cover_file_name))
|
||||
return cover_file_name
|
||||
# img.save(obj[1:] + ".png")
|
||||
except Exception as ex:
|
||||
print(ex)
|
||||
|
||||
try:
|
||||
cover_file_name = os.path.splitext(tmp_file_path)[0] + ".cover.jpg"
|
||||
with Image(filename=tmp_file_path + "[0]", resolution=150) as img:
|
||||
with Image() as img:
|
||||
img.options["pdf:use-cropbox"] = "true"
|
||||
img.read(filename=tmp_file_path + '[0]', resolution = 150)
|
||||
img.compression_quality = 88
|
||||
img.save(filename=os.path.join(tmp_dir, cover_file_name))
|
||||
return cover_file_name
|
||||
|
@ -210,24 +164,24 @@ def get_versions():
|
|||
IVersion = ImageVersion.MAGICK_VERSION
|
||||
WVersion = ImageVersion.VERSION
|
||||
else:
|
||||
IVersion = _(u'not installed')
|
||||
WVersion = _(u'not installed')
|
||||
IVersion = u'not installed'
|
||||
WVersion = u'not installed'
|
||||
if use_pdf_meta:
|
||||
PVersion='v'+PyPdfVersion
|
||||
else:
|
||||
PVersion=_(u'not installed')
|
||||
PVersion=u'not installed'
|
||||
if lxmlversion:
|
||||
XVersion = 'v'+'.'.join(map(str, lxmlversion))
|
||||
else:
|
||||
XVersion = _(u'not installed')
|
||||
XVersion = u'not installed'
|
||||
if use_PIL:
|
||||
PILVersion = 'v' + PILversion
|
||||
else:
|
||||
PILVersion = _(u'not installed')
|
||||
PILVersion = u'not installed'
|
||||
if comic.use_comic_meta:
|
||||
ComicVersion = _(u'installed')
|
||||
ComicVersion = u'installed'
|
||||
else:
|
||||
ComicVersion = _(u'not installed')
|
||||
ComicVersion = u'not installed'
|
||||
return {'Image Magick': IVersion,
|
||||
'PyPdf': PVersion,
|
||||
'lxml':XVersion,
|
||||
|
|
39
cps/web.py
39
cps/web.py
|
@ -38,7 +38,8 @@ from flask import render_template, request, redirect, send_from_directory, make_
|
|||
from flask_babel import gettext as _
|
||||
from flask_login import login_user, logout_user, login_required, current_user
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
from sqlalchemy.sql.expression import text, func, true, false, not_, and_
|
||||
from sqlalchemy.sql.expression import text, func, true, false, not_, and_, \
|
||||
exists
|
||||
from werkzeug.exceptions import default_exceptions
|
||||
from werkzeug.datastructures import Headers
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
|
@ -781,6 +782,12 @@ def get_tasks_status():
|
|||
|
||||
# ################################### Search functions ################################################################
|
||||
|
||||
@app.route("/reconnect")
|
||||
def reconnect():
|
||||
db.session.close()
|
||||
db.engine.dispose()
|
||||
db.setup_db()
|
||||
return json.dumps({})
|
||||
|
||||
@web.route("/search", methods=["GET"])
|
||||
@login_required_if_no_ano
|
||||
|
@ -792,9 +799,9 @@ def search():
|
|||
for element in entries:
|
||||
ids.append(element.id)
|
||||
searched_ids[current_user.id] = ids
|
||||
return render_title_template('search.html', searchterm=term, entries=entries, page="search")
|
||||
return render_title_template('search.html', searchterm=term, entries=entries, title=_(u"Search"), page="search")
|
||||
else:
|
||||
return render_title_template('search.html', searchterm="", page="search")
|
||||
return render_title_template('search.html', searchterm="", title=_(u"Search"), page="search")
|
||||
|
||||
|
||||
@web.route("/advanced_search", methods=['GET'])
|
||||
|
@ -985,10 +992,11 @@ def get_cover(book_id):
|
|||
return get_book_cover(book_id)
|
||||
|
||||
|
||||
@web.route("/show/<book_id>/<book_format>")
|
||||
@web.route("/show/<int:book_id>/<book_format>", defaults={'anyname': 'None'})
|
||||
@web.route("/show/<int:book_id>/<book_format>/<anyname>")
|
||||
@login_required_if_no_ano
|
||||
@viewer_required
|
||||
def serve_book(book_id, book_format):
|
||||
def serve_book(book_id, book_format, anyname):
|
||||
book_format = book_format.split(".")[0]
|
||||
book = db.session.query(db.Books).filter(db.Books.id == book_id).first()
|
||||
data = db.session.query(db.Data).filter(db.Data.book == book.id).filter(db.Data.format == book_format.upper())\
|
||||
|
@ -1003,11 +1011,11 @@ def serve_book(book_id, book_format):
|
|||
return send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + book_format)
|
||||
|
||||
|
||||
@web.route("/download/<int:book_id>/<book_format>", defaults={'anyname': 'None'})
|
||||
@web.route("/download/<int:book_id>/<book_format>/<anyname>")
|
||||
# @web.route("/download/<int:book_id>/<book_format>", defaults={'anyname': 'None'})
|
||||
@web.route("/download/<int:book_id>/<book_format>")
|
||||
@login_required_if_no_ano
|
||||
@download_required
|
||||
def download_link(book_id, book_format, anyname):
|
||||
def download_link(book_id, book_format):
|
||||
return get_download_link(book_id, book_format)
|
||||
|
||||
|
||||
|
@ -1254,6 +1262,21 @@ def profile():
|
|||
return render_title_template("user_edit.html", content=current_user, downloads=downloads,
|
||||
title=_(u"%(name)s's profile", name=current_user.nickname), page="me",
|
||||
registered_oauth=oauth_check, oauth_status=oauth_status)
|
||||
if "nickname" in to_save and to_save["nickname"] != current_user.nickname:
|
||||
# Query User nickname, if not existing, change
|
||||
if not ub.session.query(ub.User).filter(ub.User.nickname == to_save["nickname"]).scalar():
|
||||
current_user.nickname = to_save["nickname"]
|
||||
else:
|
||||
flash(_(u"This username is already taken"), category="error")
|
||||
return render_title_template("user_edit.html",
|
||||
translations=translations,
|
||||
languages=languages,
|
||||
new_user=0, content=current_user,
|
||||
downloads=downloads,
|
||||
registered_oauth=oauth_check,
|
||||
title=_(u"Edit User %(nick)s",
|
||||
nick=current_user.nickname),
|
||||
page="edituser")
|
||||
current_user.email = to_save["email"]
|
||||
if "show_random" in to_save and to_save["show_random"] == "on":
|
||||
current_user.random_books = 1
|
||||
|
|
|
@ -193,21 +193,27 @@ class WorkerThread(threading.Thread):
|
|||
def run(self):
|
||||
main_thread = _get_main_thread()
|
||||
while main_thread.is_alive():
|
||||
self.doLock.acquire()
|
||||
if self.current != self.last:
|
||||
index = self.current
|
||||
self.doLock.release()
|
||||
if self.queue[index]['taskType'] == TASK_EMAIL:
|
||||
self._send_raw_email()
|
||||
if self.queue[index]['taskType'] == TASK_CONVERT:
|
||||
self._convert_any_format()
|
||||
if self.queue[index]['taskType'] == TASK_CONVERT_ANY:
|
||||
self._convert_any_format()
|
||||
# TASK_UPLOAD is handled implicitly
|
||||
try:
|
||||
self.doLock.acquire()
|
||||
self.current += 1
|
||||
self.doLock.release()
|
||||
else:
|
||||
if self.current != self.last:
|
||||
index = self.current
|
||||
self.doLock.release()
|
||||
if self.queue[index]['taskType'] == TASK_EMAIL:
|
||||
self._send_raw_email()
|
||||
if self.queue[index]['taskType'] == TASK_CONVERT:
|
||||
self._convert_any_format()
|
||||
if self.queue[index]['taskType'] == TASK_CONVERT_ANY:
|
||||
self._convert_any_format()
|
||||
# TASK_UPLOAD is handled implicitly
|
||||
self.doLock.acquire()
|
||||
self.current += 1
|
||||
if self.current > self.last:
|
||||
self.current = self.last
|
||||
self.doLock.release()
|
||||
else:
|
||||
self.doLock.release()
|
||||
except Exception as e:
|
||||
log.exception(e)
|
||||
self.doLock.release()
|
||||
if main_thread.is_alive():
|
||||
time.sleep(1)
|
||||
|
@ -225,7 +231,8 @@ class WorkerThread(threading.Thread):
|
|||
self.queue.pop(index)
|
||||
self.UIqueue.pop(index)
|
||||
# if we are deleting entries before the current index, adjust the index
|
||||
self.current -= 1
|
||||
if index <= self.current and index:
|
||||
self.current -= 1
|
||||
self.last = len(self.queue)
|
||||
|
||||
def get_taskstatus(self):
|
||||
|
@ -248,7 +255,7 @@ class WorkerThread(threading.Thread):
|
|||
self.doLock.release()
|
||||
self.UIqueue[index]['stat'] = STAT_STARTED
|
||||
self.queue[index]['starttime'] = datetime.now()
|
||||
self.UIqueue[index]['formStarttime'] = self.queue[self.current]['starttime']
|
||||
self.UIqueue[index]['formStarttime'] = self.queue[index]['starttime']
|
||||
curr_task = self.queue[index]['taskType']
|
||||
filename = self._convert_ebook_format()
|
||||
if filename:
|
||||
|
@ -390,8 +397,7 @@ class WorkerThread(threading.Thread):
|
|||
|
||||
|
||||
def add_convert(self, file_path, bookid, user_name, taskMessage, settings, kindle_mail=None):
|
||||
addLock = threading.Lock()
|
||||
addLock.acquire()
|
||||
self.doLock.acquire()
|
||||
if self.last >= 20:
|
||||
self._delete_completed_tasks()
|
||||
# progress, runtime, and status = 0
|
||||
|
@ -405,13 +411,12 @@ class WorkerThread(threading.Thread):
|
|||
'runtime': '0 s', 'stat': STAT_WAITING,'id': self.id, 'taskType': task } )
|
||||
|
||||
self.last=len(self.queue)
|
||||
addLock.release()
|
||||
self.doLock.release()
|
||||
|
||||
def add_email(self, subject, filepath, attachment, settings, recipient, user_name, taskMessage,
|
||||
text):
|
||||
# if more than 20 entries in the list, clean the list
|
||||
addLock = threading.Lock()
|
||||
addLock.acquire()
|
||||
self.doLock.acquire()
|
||||
if self.last >= 20:
|
||||
self._delete_completed_tasks()
|
||||
# progress, runtime, and status = 0
|
||||
|
@ -422,23 +427,31 @@ class WorkerThread(threading.Thread):
|
|||
self.UIqueue.append({'user': user_name, 'formStarttime': '', 'progress': " 0 %", 'taskMess': taskMessage,
|
||||
'runtime': '0 s', 'stat': STAT_WAITING,'id': self.id, 'taskType': TASK_EMAIL })
|
||||
self.last=len(self.queue)
|
||||
addLock.release()
|
||||
self.doLock.release()
|
||||
|
||||
def add_upload(self, user_name, taskMessage):
|
||||
# if more than 20 entries in the list, clean the list
|
||||
addLock = threading.Lock()
|
||||
addLock.acquire()
|
||||
self.doLock.acquire()
|
||||
|
||||
|
||||
if self.last >= 20:
|
||||
self._delete_completed_tasks()
|
||||
# progress=100%, runtime=0, and status finished
|
||||
self.id += 1
|
||||
self.queue.append({'starttime': datetime.now(), 'taskType': TASK_UPLOAD})
|
||||
self.UIqueue.append({'user': user_name, 'formStarttime': '', 'progress': "100 %", 'taskMess': taskMessage,
|
||||
'runtime': '0 s', 'stat': STAT_FINISH_SUCCESS,'id': self.id, 'taskType': TASK_UPLOAD})
|
||||
self.UIqueue[self.current]['formStarttime'] = self.queue[self.current]['starttime']
|
||||
self.last=len(self.queue)
|
||||
addLock.release()
|
||||
log.info("Last " + str(self.last))
|
||||
log.info("Current " + str(self.current))
|
||||
log.info("id" + str(self.id))
|
||||
for i in range(0, len(self.queue)):
|
||||
message = '%s:%s' % (i, self.queue[i].items())
|
||||
log.info(message)
|
||||
|
||||
self.id += 1
|
||||
starttime = datetime.now()
|
||||
self.queue.append({'starttime': starttime, 'taskType': TASK_UPLOAD})
|
||||
self.UIqueue.append({'user': user_name, 'formStarttime': starttime, 'progress': "100 %", 'taskMess': taskMessage,
|
||||
'runtime': '0 s', 'stat': STAT_FINISH_SUCCESS,'id': self.id, 'taskType': TASK_UPLOAD})
|
||||
# self.UIqueue[self.current]['formStarttime'] = self.queue[self.current]['starttime']
|
||||
self.last=len(self.queue)
|
||||
self.doLock.release()
|
||||
|
||||
def _send_raw_email(self):
|
||||
self.doLock.acquire()
|
||||
|
@ -525,7 +538,7 @@ class WorkerThread(threading.Thread):
|
|||
self.doLock.release()
|
||||
self.UIqueue[index]['stat'] = STAT_FAIL
|
||||
self.UIqueue[index]['progress'] = "100 %"
|
||||
self.UIqueue[index]['formRuntime'] = datetime.now() - self.queue[self.current]['starttime']
|
||||
self.UIqueue[index]['formRuntime'] = datetime.now() - self.queue[index]['starttime']
|
||||
self.UIqueue[index]['message'] = error_message
|
||||
|
||||
def _handleSuccess(self):
|
||||
|
@ -534,7 +547,7 @@ class WorkerThread(threading.Thread):
|
|||
self.doLock.release()
|
||||
self.UIqueue[index]['stat'] = STAT_FINISH_SUCCESS
|
||||
self.UIqueue[index]['progress'] = "100 %"
|
||||
self.UIqueue[index]['formRuntime'] = datetime.now() - self.queue[self.current]['starttime']
|
||||
self.UIqueue[index]['formRuntime'] = datetime.now() - self.queue[index]['starttime']
|
||||
|
||||
|
||||
_worker = WorkerThread()
|
||||
|
|
190
messages.pot
190
messages.pot
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2019-09-17 18:24+0200\n"
|
||||
"POT-Creation-Date: 2019-11-16 08:00+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,17 +17,15 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.7.0\n"
|
||||
|
||||
#: cps/about.py:40 cps/about.py:65 cps/about.py:66 cps/uploader.py:228
|
||||
#: cps/about.py:41
|
||||
msgid "installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:42 cps/about.py:65 cps/about.py:66 cps/uploader.py:213
|
||||
#: cps/uploader.py:214 cps/uploader.py:218 cps/uploader.py:222
|
||||
#: cps/uploader.py:226 cps/uploader.py:230
|
||||
#: cps/about.py:43
|
||||
msgid "not installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/about.py:80
|
||||
#: cps/about.py:81
|
||||
msgid "Statistics"
|
||||
msgstr ""
|
||||
|
||||
|
@ -39,7 +37,7 @@ msgstr ""
|
|||
msgid "Performing shutdown of server, please close window"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:111 cps/updater.py:445
|
||||
#: cps/admin.py:111 cps/updater.py:446
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
|
@ -59,7 +57,7 @@ msgstr ""
|
|||
msgid "Basic Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:452 cps/web.py:1048
|
||||
#: cps/admin.py:452 cps/web.py:1055
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -68,7 +66,7 @@ msgstr ""
|
|||
msgid "Add new user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:463 cps/web.py:1251
|
||||
#: cps/admin.py:463 cps/web.py:1258
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr ""
|
||||
|
||||
|
@ -95,7 +93,7 @@ msgstr ""
|
|||
msgid "There was an error sending the Test e-mail: %(res)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:527 cps/web.py:1031
|
||||
#: cps/admin.py:527 cps/web.py:1038
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -112,85 +110,93 @@ msgstr ""
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:600 cps/web.py:1277
|
||||
#: cps/admin.py:599 cps/web.py:1299
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:603 cps/admin.py:615
|
||||
#: cps/admin.py:602 cps/admin.py:615 cps/admin.py:629 cps/web.py:1274
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:609
|
||||
#: cps/admin.py:608 cps/web.py:1267
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:623
|
||||
#, python-format
|
||||
msgid "User '%(nick)s' updated"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:612
|
||||
#: cps/admin.py:626
|
||||
msgid "An unknown error occured."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:631
|
||||
#: cps/admin.py:645
|
||||
#, python-format
|
||||
msgid "Password for user %(user)s reset"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:634 cps/web.py:1073
|
||||
#: cps/admin.py:648 cps/web.py:1080
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:645
|
||||
#: cps/admin.py:659
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:680
|
||||
#: cps/admin.py:694
|
||||
msgid "Requesting update package"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:681
|
||||
#: cps/admin.py:695
|
||||
msgid "Downloading update package"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:682
|
||||
#: cps/admin.py:696
|
||||
msgid "Unzipping update package"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:683
|
||||
#: cps/admin.py:697
|
||||
msgid "Replacing files"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:684
|
||||
#: cps/admin.py:698
|
||||
msgid "Database connections are closed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:685
|
||||
#: cps/admin.py:699
|
||||
msgid "Stopping server"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:686
|
||||
#: cps/admin.py:700
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:687 cps/admin.py:688 cps/admin.py:689 cps/admin.py:690
|
||||
#: cps/admin.py:701 cps/admin.py:702 cps/admin.py:703 cps/admin.py:704
|
||||
msgid "Update failed:"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:687 cps/updater.py:271 cps/updater.py:456 cps/updater.py:458
|
||||
#: cps/admin.py:701 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:688 cps/updater.py:273 cps/updater.py:460
|
||||
#: cps/admin.py:702 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:689 cps/updater.py:275 cps/updater.py:462
|
||||
#: cps/admin.py:703 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:690 cps/updater.py:277 cps/updater.py:464
|
||||
#: cps/admin.py:704 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr ""
|
||||
|
||||
#: cps/converter.py:31
|
||||
msgid "not configured"
|
||||
msgstr ""
|
||||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:393
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr ""
|
||||
|
@ -574,7 +580,7 @@ msgid "Show best rated books"
|
|||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:969
|
||||
#: cps/web.py:976
|
||||
msgid "Read Books"
|
||||
msgstr ""
|
||||
|
||||
|
@ -583,7 +589,7 @@ msgid "Show read and unread"
|
|||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:973
|
||||
#: cps/web.py:980
|
||||
msgid "Unread Books"
|
||||
msgstr ""
|
||||
|
||||
|
@ -656,228 +662,233 @@ msgstr ""
|
|||
msgid "Show file formats selection"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:251 cps/updater.py:358 cps/updater.py:371
|
||||
#: cps/updater.py:252 cps/updater.py:359 cps/updater.py:372
|
||||
msgid "Unexpected data while reading update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:258 cps/updater.py:364
|
||||
#: cps/updater.py:259 cps/updater.py:365
|
||||
msgid "No update available. You already have the latest version installed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:284
|
||||
#: cps/updater.py:285
|
||||
msgid "A new update is available. Click on the button below to update to the latest version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:337
|
||||
#: cps/updater.py:338
|
||||
msgid "Could not fetch update information"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:351
|
||||
#: cps/updater.py:352
|
||||
msgid "No release information available"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:404 cps/updater.py:413
|
||||
#: cps/updater.py:405 cps/updater.py:414
|
||||
#, python-format
|
||||
msgid "A new update is available. Click on the button below to update to version: %(version)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/updater.py:423
|
||||
#: cps/updater.py:424
|
||||
msgid "Click on the button below to update to the latest stable version."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:458
|
||||
#: cps/web.py:459
|
||||
msgid "Recently Added Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:486
|
||||
#: cps/web.py:487
|
||||
msgid "Best rated books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:38 cps/web.py:494
|
||||
#: cps/templates/index.xml:38 cps/web.py:495
|
||||
msgid "Random Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:520
|
||||
#: cps/web.py:521
|
||||
msgid "Books"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:547
|
||||
#: cps/web.py:548
|
||||
msgid "Hot Books (most downloaded)"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:558 cps/web.py:1298 cps/web.py:1386
|
||||
#: cps/web.py:559 cps/web.py:1320 cps/web.py:1408
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:571
|
||||
#: cps/web.py:572
|
||||
#, python-format
|
||||
msgid "Author: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:583
|
||||
#: cps/web.py:584
|
||||
#, python-format
|
||||
msgid "Publisher: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:594
|
||||
#: cps/web.py:595
|
||||
#, python-format
|
||||
msgid "Series: %(serie)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:605
|
||||
#: cps/web.py:606
|
||||
#, python-format
|
||||
msgid "Rating: %(rating)s stars"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:616
|
||||
#: cps/web.py:617
|
||||
#, python-format
|
||||
msgid "File format: %(format)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:628
|
||||
#: cps/web.py:629
|
||||
#, python-format
|
||||
msgid "Category: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:645
|
||||
#: cps/web.py:646
|
||||
#, python-format
|
||||
msgid "Language: %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:677
|
||||
#: cps/web.py:678
|
||||
msgid "Publisher list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:82 cps/web.py:693
|
||||
#: cps/templates/index.xml:82 cps/web.py:694
|
||||
msgid "Series list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:707
|
||||
#: cps/web.py:708
|
||||
msgid "Ratings list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:720
|
||||
#: cps/web.py:721
|
||||
msgid "File formats list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:748
|
||||
#: cps/web.py:749
|
||||
msgid "Available languages"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/index.xml:75 cps/web.py:765
|
||||
#: cps/templates/index.xml:75 cps/web.py:766
|
||||
msgid "Category list"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/layout.html:73 cps/web.py:779
|
||||
#: cps/templates/layout.html:73 cps/web.py:780
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:844
|
||||
msgid "Published after "
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:802 cps/web.py:804
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:851
|
||||
msgid "Published after "
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:858
|
||||
msgid "Published before "
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:865
|
||||
#: cps/web.py:872
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:867
|
||||
#: cps/web.py:874
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:927 cps/web.py:937
|
||||
#: cps/web.py:934 cps/web.py:944
|
||||
msgid "search"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1020
|
||||
#: cps/web.py:1027
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1025
|
||||
#: cps/web.py:1032
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1029
|
||||
#: cps/web.py:1036
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1049 cps/web.py:1074 cps/web.py:1078 cps/web.py:1083
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1085 cps/web.py:1090
|
||||
#: cps/web.py:1094
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1076
|
||||
#: cps/web.py:1083
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1079
|
||||
#: cps/web.py:1086
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1082
|
||||
#: cps/web.py:1089
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1097
|
||||
#: cps/web.py:1104
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1106 cps/web.py:1212
|
||||
#: cps/web.py:1113 cps/web.py:1219
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1110
|
||||
#: cps/web.py:1117
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1114 cps/web.py:1122
|
||||
#: cps/web.py:1121 cps/web.py:1129
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1118
|
||||
#: cps/web.py:1125
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1126 cps/web.py:1148
|
||||
#: cps/web.py:1133 cps/web.py:1155
|
||||
msgid "login"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1160 cps/web.py:1191
|
||||
#: cps/web.py:1167 cps/web.py:1198
|
||||
msgid "Token not found"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1168 cps/web.py:1199
|
||||
#: cps/web.py:1175 cps/web.py:1206
|
||||
msgid "Token has expired"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1183
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1253 cps/web.py:1280 cps/web.py:1284
|
||||
#: cps/web.py:1260 cps/web.py:1302 cps/web.py:1306
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1282
|
||||
#: cps/web.py:1304
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1308 cps/web.py:1310 cps/web.py:1312 cps/web.py:1318
|
||||
#: cps/web.py:1322
|
||||
#: cps/web.py:1330 cps/web.py:1332 cps/web.py:1334 cps/web.py:1340
|
||||
#: cps/web.py:1344
|
||||
msgid "Read a Book"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1332
|
||||
#: cps/web.py:1354
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1055,7 +1066,7 @@ msgstr ""
|
|||
#: cps/templates/config_edit.html:321 cps/templates/config_view_edit.html:147
|
||||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:132
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
@ -1689,11 +1700,6 @@ msgstr ""
|
|||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/http_error.html:37
|
||||
msgid "Create issue"
|
||||
msgstr ""
|
||||
|
@ -2053,7 +2059,7 @@ msgstr ""
|
|||
msgid "Edit Shelf"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:11
|
||||
#: cps/templates/shelf.html:12 cps/templates/shelf_order.html:31
|
||||
msgid "Change order"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# GDrive Integration
|
||||
google-api-python-client==1.7.11
|
||||
gevent==1.2.1
|
||||
greenlet==0.4.12
|
||||
httplib2==0.9.2
|
||||
oauth2client==4.0.0
|
||||
uritemplate==3.0.0
|
||||
pyasn1-modules==0.0.8
|
||||
pyasn1==0.1.9
|
||||
PyDrive==1.3.1
|
||||
PyYAML==3.12
|
||||
gevent>=1.2.1
|
||||
greenlet>=0.4.12
|
||||
httplib2>=0.9.2
|
||||
oauth2client>=4.0.0
|
||||
uritemplate>=3.0.0
|
||||
pyasn1-modules>=0.0.8
|
||||
pyasn1>=0.1.9
|
||||
PyDrive>=1.3.1
|
||||
PyYAML>=3.12
|
||||
rsa==3.4.2
|
||||
six==1.10.0
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user