Merge remote-tracking branch 'original/Develop' into kobo_book_delete
This commit is contained in:
commit
7d99e21d0d
|
@ -30,7 +30,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
|
|||
|
||||
## Quick start
|
||||
|
||||
1. Install dependencies by running `pip3 install --target vendor -r requirements.txt`.
|
||||
1. Install dependencies by running `pip3 install --target vendor -r requirements.txt` (python3.x) or `pip install --target vendor -r requirements.txt` (python2.7).
|
||||
2. Execute the command: `python cps.py` (or `nohup python cps.py` - recommended if you want to exit the terminal window)
|
||||
3. Point your browser to `http://localhost:8083` or `http://localhost:8083/opds` for the OPDS catalog
|
||||
4. Set `Location of Calibre database` to the path of the folder where your Calibre library (metadata.db) lives, push "submit" button\
|
||||
|
|
4
cps.py
4
cps.py
|
@ -43,9 +43,9 @@ from cps.gdrive import gdrive
|
|||
from cps.editbooks import editbook
|
||||
|
||||
try:
|
||||
from cps.kobo import kobo
|
||||
from cps.kobo import kobo, get_kobo_activated
|
||||
from cps.kobo_auth import kobo_auth
|
||||
kobo_available = True
|
||||
kobo_available = get_kobo_activated()
|
||||
except ImportError:
|
||||
kobo_available = False
|
||||
|
||||
|
|
|
@ -116,14 +116,13 @@ def get_locale():
|
|||
if user.nickname != 'Guest': # if the account is the guest account bypass the config lang settings
|
||||
return user.locale
|
||||
|
||||
preferred = set()
|
||||
preferred = list()
|
||||
if request.accept_languages:
|
||||
for x in request.accept_languages.values():
|
||||
try:
|
||||
preferred.add(str(LC.parse(x.replace('-', '_'))))
|
||||
preferred.append(str(LC.parse(x.replace('-', '_'))))
|
||||
except (UnknownLocaleError, ValueError) as e:
|
||||
log.warning('Could not parse locale "%s": %s', x, e)
|
||||
# preferred.append('en')
|
||||
log.debug('Could not parse locale "%s": %s', x, e)
|
||||
|
||||
return negotiate_locale(preferred or ['en'], _BABEL_TRANSLATIONS)
|
||||
|
||||
|
|
89
cps/admin.py
89
cps/admin.py
|
@ -1,4 +1,3 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# This file is part of the Calibre-Web (https://github.com/janeczku/calibre-web)
|
||||
|
@ -172,10 +171,7 @@ def update_view_configuration():
|
|||
_config_int("config_random_books")
|
||||
_config_int("config_books_per_page")
|
||||
_config_int("config_authors_max")
|
||||
|
||||
_config_string("config_restricted_tags")
|
||||
_config_int("config_restricted_column")
|
||||
_config_string("config_restricted_column_value")
|
||||
|
||||
if config.config_google_drive_watch_changes_response:
|
||||
config.config_google_drive_watch_changes_response = json.dumps(config.config_google_drive_watch_changes_response)
|
||||
|
@ -290,14 +286,14 @@ def edit_restriction(type):
|
|||
ub.session.commit()
|
||||
if element['id'].startswith('d'):
|
||||
if type == 0: # Tags as template
|
||||
elementlist = config.list_restricted_tags()
|
||||
elementlist = config.list_denied_tags()
|
||||
elementlist[int(element['id'][1:])]=element['Element']
|
||||
config.config_restricted_tags = ','.join(elementlist)
|
||||
config.config_denied_tags = ','.join(elementlist)
|
||||
config.save()
|
||||
if type == 1: # CustomC
|
||||
elementlist = config.list_restricted_column_values()
|
||||
elementlist = config.list_denied_column_values()
|
||||
elementlist[int(element['id'][1:])]=element['Element']
|
||||
config.config_restricted_column_value = ','.join(elementlist)
|
||||
config.config_denied_column_value = ','.join(elementlist)
|
||||
config.save()
|
||||
pass
|
||||
if type == 2: # Tags per user
|
||||
|
@ -306,9 +302,9 @@ def edit_restriction(type):
|
|||
usr = ub.session.query(ub.User).filter(ub.User.id == int(usr_id)).first()
|
||||
else:
|
||||
usr = current_user
|
||||
elementlist = usr.list_restricted_tags()
|
||||
elementlist = usr.list_denied_tags()
|
||||
elementlist[int(element['id'][1:])]=element['Element']
|
||||
usr.restricted_tags = ','.join(elementlist)
|
||||
usr.denied_tags = ','.join(elementlist)
|
||||
ub.session.commit()
|
||||
if type == 3: # CColumn per user
|
||||
usr_id = os.path.split(request.referrer)[-1]
|
||||
|
@ -316,9 +312,9 @@ def edit_restriction(type):
|
|||
usr = ub.session.query(ub.User).filter(ub.User.id == int(usr_id)).first()
|
||||
else:
|
||||
usr = current_user
|
||||
elementlist = usr.list_restricted_column_values()
|
||||
elementlist = usr.list_denied_column_values()
|
||||
elementlist[int(element['id'][1:])]=element['Element']
|
||||
usr.restricted_column_value = ','.join(elementlist)
|
||||
usr.denied_column_value = ','.join(elementlist)
|
||||
ub.session.commit()
|
||||
return ""
|
||||
|
||||
|
@ -342,21 +338,20 @@ def restriction_deletion(element, list_func):
|
|||
@login_required
|
||||
@admin_required
|
||||
def add_restriction(type):
|
||||
log.info("Hit: " + str(type))
|
||||
element = request.form.to_dict()
|
||||
if type == 0: # Tags as template
|
||||
if 'submit_allow' in element:
|
||||
config.config_allowed_tags = restriction_addition(element, config.list_allowed_tags)
|
||||
config.save()
|
||||
elif 'submit_deny' in element:
|
||||
config.config_restricted_tags = restriction_addition(element, config.list_restricted_tags)
|
||||
config.config_denied_tags = restriction_addition(element, config.list_denied_tags)
|
||||
config.save()
|
||||
if type == 1: # CCustom as template
|
||||
if 'submit_allow' in element:
|
||||
config.config_allowed_column_value = restriction_addition(element, config.list_restricted_column_values)
|
||||
config.config_allowed_column_value = restriction_addition(element, config.list_denied_column_values)
|
||||
config.save()
|
||||
elif 'submit_deny' in element:
|
||||
config.config_restricted_column_value = restriction_addition(element, config.list_allowed_column_values)
|
||||
config.config_denied_column_value = restriction_addition(element, config.list_allowed_column_values)
|
||||
config.save()
|
||||
if type == 2: # Tags per user
|
||||
usr_id = os.path.split(request.referrer)[-1]
|
||||
|
@ -368,7 +363,7 @@ def add_restriction(type):
|
|||
usr.allowed_tags = restriction_addition(element, usr.list_allowed_tags)
|
||||
ub.session.commit()
|
||||
elif 'submit_deny' in element:
|
||||
usr.restricted_tags = restriction_addition(element, usr.list_restricted_tags)
|
||||
usr.denied_tags = restriction_addition(element, usr.list_denied_tags)
|
||||
ub.session.commit()
|
||||
if type == 3: # CustomC per user
|
||||
usr_id = os.path.split(request.referrer)[-1]
|
||||
|
@ -380,7 +375,7 @@ def add_restriction(type):
|
|||
usr.allowed_column_value = restriction_addition(element, usr.list_allowed_column_values)
|
||||
ub.session.commit()
|
||||
elif 'submit_deny' in element:
|
||||
usr.restricted_column_value = restriction_addition(element, usr.list_restricted_column_values)
|
||||
usr.denied_column_value = restriction_addition(element, usr.list_denied_column_values)
|
||||
ub.session.commit()
|
||||
return ""
|
||||
|
||||
|
@ -394,14 +389,14 @@ def delete_restriction(type):
|
|||
config.config_allowed_tags = restriction_deletion(element, config.list_allowed_tags)
|
||||
config.save()
|
||||
elif element['id'].startswith('d'):
|
||||
config.config_restricted_tags = restriction_deletion(element, config.list_restricted_tags)
|
||||
config.config_denied_tags = restriction_deletion(element, config.list_denied_tags)
|
||||
config.save()
|
||||
elif type == 1: # CustomC as template
|
||||
if element['id'].startswith('a'):
|
||||
config.config_allowed_column_value = restriction_deletion(element, config.list_allowed_column_values)
|
||||
config.save()
|
||||
elif element['id'].startswith('d'):
|
||||
config.config_restricted_column_value = restriction_deletion(element, config.list_restricted_column_values)
|
||||
config.config_denied_column_value = restriction_deletion(element, config.list_denied_column_values)
|
||||
config.save()
|
||||
elif type == 2: # Tags per user
|
||||
usr_id = os.path.split(request.referrer)[-1]
|
||||
|
@ -413,7 +408,7 @@ def delete_restriction(type):
|
|||
usr.allowed_tags = restriction_deletion(element, usr.list_allowed_tags)
|
||||
ub.session.commit()
|
||||
elif element['id'].startswith('d'):
|
||||
usr.restricted_tags = restriction_deletion(element, usr.list_restricted_tags)
|
||||
usr.denied_tags = restriction_deletion(element, usr.list_denied_tags)
|
||||
ub.session.commit()
|
||||
elif type == 3: # Columns per user
|
||||
usr_id = os.path.split(request.referrer)[-1]
|
||||
|
@ -425,7 +420,7 @@ def delete_restriction(type):
|
|||
usr.allowed_column_value = restriction_deletion(element, usr.list_allowed_column_values)
|
||||
ub.session.commit()
|
||||
elif element['id'].startswith('d'):
|
||||
usr.restricted_column_value = restriction_deletion(element, usr.list_restricted_column_values)
|
||||
usr.denied_column_value = restriction_deletion(element, usr.list_denied_column_values)
|
||||
ub.session.commit()
|
||||
return ""
|
||||
|
||||
|
@ -437,13 +432,13 @@ def delete_restriction(type):
|
|||
def list_restriction(type):
|
||||
if type == 0: # Tags as template
|
||||
restrict = [{'Element': x, 'type':_('deny'), 'id': 'd'+str(i) }
|
||||
for i,x in enumerate(config.list_restricted_tags()) if x != '' ]
|
||||
for i,x in enumerate(config.list_denied_tags()) if x != '' ]
|
||||
allow = [{'Element': x, 'type':_('allow'), 'id': 'a'+str(i) }
|
||||
for i,x in enumerate(config.list_allowed_tags()) if x != '']
|
||||
json_dumps = restrict + allow
|
||||
elif type == 1: # CustomC as template
|
||||
restrict = [{'Element': x, 'type':_('deny'), 'id': 'd'+str(i) }
|
||||
for i,x in enumerate(config.list_restricted_column_values()) if x != '' ]
|
||||
for i,x in enumerate(config.list_denied_column_values()) if x != '' ]
|
||||
allow = [{'Element': x, 'type':_('allow'), 'id': 'a'+str(i) }
|
||||
for i,x in enumerate(config.list_allowed_column_values()) if x != '']
|
||||
json_dumps = restrict + allow
|
||||
|
@ -454,7 +449,7 @@ def list_restriction(type):
|
|||
else:
|
||||
usr = current_user
|
||||
restrict = [{'Element': x, 'type':_('deny'), 'id': 'd'+str(i) }
|
||||
for i,x in enumerate(usr.list_restricted_tags()) if x != '' ]
|
||||
for i,x in enumerate(usr.list_denied_tags()) if x != '' ]
|
||||
allow = [{'Element': x, 'type':_('allow'), 'id': 'a'+str(i) }
|
||||
for i,x in enumerate(usr.list_allowed_tags()) if x != '']
|
||||
json_dumps = restrict + allow
|
||||
|
@ -465,7 +460,7 @@ def list_restriction(type):
|
|||
else:
|
||||
usr = current_user
|
||||
restrict = [{'Element': x, 'type':_('deny'), 'id': 'd'+str(i) }
|
||||
for i,x in enumerate(usr.list_restricted_column_values()) if x != '' ]
|
||||
for i,x in enumerate(usr.list_denied_column_values()) if x != '' ]
|
||||
allow = [{'Element': x, 'type':_('allow'), 'id': 'a'+str(i) }
|
||||
for i,x in enumerate(usr.list_allowed_column_values()) if x != '']
|
||||
json_dumps = restrict + allow
|
||||
|
@ -532,7 +527,7 @@ def _configuration_update_helper():
|
|||
_config_checkbox_int("config_uploading")
|
||||
_config_checkbox_int("config_anonbrowse")
|
||||
_config_checkbox_int("config_public_reg")
|
||||
_config_checkbox_int("config_kobo_sync")
|
||||
reboot_required |= _config_checkbox_int("config_kobo_sync")
|
||||
_config_checkbox_int("config_kobo_proxy")
|
||||
|
||||
|
||||
|
@ -679,6 +674,7 @@ def new_user():
|
|||
content = ub.User()
|
||||
languages = speaking_language()
|
||||
translations = [LC('en')] + babel.list_translations()
|
||||
kobo_support = feature_support['kobo'] and config.config_kobo_sync
|
||||
if request.method == "POST":
|
||||
to_save = request.form.to_dict()
|
||||
content.default_language = to_save["default_language"]
|
||||
|
@ -694,7 +690,7 @@ def new_user():
|
|||
if not to_save["nickname"] or not to_save["email"] or not to_save["password"]:
|
||||
flash(_(u"Please fill out all fields!"), category="error")
|
||||
return render_title_template("user_edit.html", new_user=1, content=content, translations=translations,
|
||||
registered_oauth=oauth_check, feature_support=feature_support,
|
||||
registered_oauth=oauth_check, kobo_support=kobo_support,
|
||||
title=_(u"Add new user"))
|
||||
content.password = generate_password_hash(to_save["password"])
|
||||
existing_user = ub.session.query(ub.User).filter(func.lower(ub.User.nickname) == to_save["nickname"].lower())\
|
||||
|
@ -706,7 +702,7 @@ def new_user():
|
|||
if config.config_public_reg and not check_valid_domain(to_save["email"]):
|
||||
flash(_(u"E-mail is not from valid domain"), category="error")
|
||||
return render_title_template("user_edit.html", new_user=1, content=content, translations=translations,
|
||||
registered_oauth=oauth_check, feature_support=feature_support,
|
||||
registered_oauth=oauth_check, kobo_support=kobo_support,
|
||||
title=_(u"Add new user"))
|
||||
else:
|
||||
content.email = to_save["email"]
|
||||
|
@ -714,8 +710,12 @@ def new_user():
|
|||
flash(_(u"Found an existing account for this e-mail address or nickname."), category="error")
|
||||
return render_title_template("user_edit.html", new_user=1, content=content, translations=translations,
|
||||
languages=languages, title=_(u"Add new user"), page="newuser",
|
||||
feature_support=feature_support, registered_oauth=oauth_check)
|
||||
kobo_support=kobo_support, registered_oauth=oauth_check)
|
||||
try:
|
||||
content.allowed_tags = config.config_allowed_tags
|
||||
content.denied_tags = config.config_denied_tags
|
||||
content.allowed_column_value = config.config_allowed_column_value
|
||||
content.denied_column_value = config.config_denied_column_value
|
||||
ub.session.add(content)
|
||||
ub.session.commit()
|
||||
flash(_(u"User '%(user)s' created", user=content.nickname), category="success")
|
||||
|
@ -726,13 +726,9 @@ def new_user():
|
|||
else:
|
||||
content.role = config.config_default_role
|
||||
content.sidebar_view = config.config_default_show
|
||||
content.restricted_tags = config.config_restricted_tags
|
||||
content.restricted_column = config.config_restricted_column
|
||||
content.restricted_column_value = config.config_restricted_column_value
|
||||
# content.mature_content = bool(config.config_default_show & constants.MATURE_CONTENT)
|
||||
return render_title_template("user_edit.html", new_user=1, content=content, translations=translations,
|
||||
languages=languages, title=_(u"Add new user"), page="newuser",
|
||||
feature_support=feature_support, registered_oauth=oauth_check)
|
||||
kobo_support=kobo_support, registered_oauth=oauth_check)
|
||||
|
||||
|
||||
@admi.route("/admin/mailsettings")
|
||||
|
@ -787,6 +783,7 @@ def edit_user(user_id):
|
|||
downloads = list()
|
||||
languages = speaking_language()
|
||||
translations = babel.list_translations() + [LC('en')]
|
||||
kobo_support = feature_support['kobo'] and config.config_kobo_sync
|
||||
for book in content.downloads:
|
||||
downloadbook = db.session.query(db.Books).filter(db.Books.id == book.book_id).first()
|
||||
if downloadbook:
|
||||
|
@ -832,14 +829,6 @@ def edit_user(user_id):
|
|||
else:
|
||||
content.sidebar_view &= ~constants.DETAIL_RANDOM
|
||||
|
||||
# content.mature_content = "Show_mature_content" in to_save
|
||||
if "restricted_tags" in to_save:
|
||||
content.restricted_tags = to_save["restricted_tags"]
|
||||
if "config_restricted_column" in to_save:
|
||||
content.restricted_tags = to_save["config_restricted_column"]
|
||||
if "config_restricted_column_value" in to_save:
|
||||
content.restricted_tags = to_save["config_restricted_column_value"]
|
||||
|
||||
if "default_language" in to_save:
|
||||
content.default_language = to_save["default_language"]
|
||||
if "locale" in to_save and to_save["locale"]:
|
||||
|
@ -855,7 +844,7 @@ def edit_user(user_id):
|
|||
translations=translations,
|
||||
languages=languages,
|
||||
mail_configured = config.get_mail_server_configured(),
|
||||
feature_support=feature_support,
|
||||
kobo_support=kobo_support,
|
||||
new_user=0,
|
||||
content=content,
|
||||
downloads=downloads,
|
||||
|
@ -874,7 +863,7 @@ def edit_user(user_id):
|
|||
new_user=0, content=content,
|
||||
downloads=downloads,
|
||||
registered_oauth=oauth_check,
|
||||
feature_support=feature_support,
|
||||
kobo_support=kobo_support,
|
||||
title=_(u"Edit User %(nick)s", nick=content.nickname),
|
||||
page="edituser")
|
||||
|
||||
|
@ -894,7 +883,7 @@ def edit_user(user_id):
|
|||
downloads=downloads,
|
||||
registered_oauth=oauth_check,
|
||||
mail_configured=config.get_mail_server_configured(),
|
||||
feature_support=feature_support,
|
||||
kobo_support=kobo_support,
|
||||
title=_(u"Edit User %(nick)s", nick=content.nickname), page="edituser")
|
||||
|
||||
|
||||
|
@ -925,10 +914,12 @@ def view_logfile():
|
|||
logfiles = {}
|
||||
logfiles[0] = logger.get_logfile(config.config_logfile)
|
||||
logfiles[1] = logger.get_accesslogfile(config.config_access_logfile)
|
||||
return render_title_template("logviewer.html",title=_(u"Logfile viewer"),
|
||||
log_enable=bool(config.config_logfile != logger.LOG_TO_STDOUT),
|
||||
return render_title_template("logviewer.html",
|
||||
title=_(u"Logfile viewer"),
|
||||
accesslog_enable=config.config_access_log,
|
||||
logfiles=logfiles, page="logfile")
|
||||
log_enable=bool(config.config_logfile != logger.LOG_TO_STDOUT),
|
||||
logfiles=logfiles,
|
||||
page="logfile")
|
||||
|
||||
|
||||
@admi.route("/ajax/log/<int:logtype>")
|
||||
|
|
|
@ -74,10 +74,10 @@ class _Settings(_Base):
|
|||
config_default_show = Column(SmallInteger, default=38911)
|
||||
config_columns_to_ignore = Column(String)
|
||||
|
||||
config_restricted_tags = Column(String, default="")
|
||||
config_denied_tags = Column(String, default="")
|
||||
config_allowed_tags = Column(String, default="")
|
||||
config_restricted_column = Column(SmallInteger, default=0)
|
||||
config_restricted_column_value = Column(String, default="")
|
||||
config_denied_column_value = Column(String, default="")
|
||||
config_allowed_column_value = Column(String, default="")
|
||||
|
||||
config_use_google_drive = Column(Boolean, default=False)
|
||||
|
@ -186,16 +186,16 @@ class _ConfigSQL(object):
|
|||
def show_detail_random(self):
|
||||
return self.show_element_new_user(constants.DETAIL_RANDOM)
|
||||
|
||||
def list_restricted_tags(self):
|
||||
mct = self.config_restricted_tags.split(",")
|
||||
def list_denied_tags(self):
|
||||
mct = self.config_denied_tags.split(",")
|
||||
return [t.strip() for t in mct]
|
||||
|
||||
def list_allowed_tags(self):
|
||||
mct = self.config_allowed_tags.split(",")
|
||||
return [t.strip() for t in mct]
|
||||
|
||||
def list_restricted_column_values(self):
|
||||
mct = self.config_restricted_column_value.split(",")
|
||||
def list_denied_column_values(self):
|
||||
mct = self.config_denied_column_value.split(",")
|
||||
return [t.strip() for t in mct]
|
||||
|
||||
def list_allowed_column_values(self):
|
||||
|
@ -341,8 +341,8 @@ def load_configuration(session):
|
|||
session.commit()
|
||||
conf = _ConfigSQL(session)
|
||||
# Migrate from global restrictions to user based restrictions
|
||||
if bool(conf.config_default_show & constants.MATURE_CONTENT) and conf.config_restricted_tags == "":
|
||||
conf.config_restricted_tags = conf.config_mature_content_tags
|
||||
if bool(conf.config_default_show & constants.MATURE_CONTENT) and conf.config_denied_tags == "":
|
||||
conf.config_denied_tags = conf.config_mature_content_tags
|
||||
conf.save()
|
||||
session.query(ub.User).filter(ub.User.mature_content != True). \
|
||||
update({"restricted_tags": conf.config_mature_content_tags}, synchronize_session=False)
|
||||
|
|
|
@ -455,7 +455,7 @@ def get_cover_on_failure(use_generic_cover):
|
|||
return None
|
||||
|
||||
def get_book_cover(book_id):
|
||||
book = db.session.query(db.Books).filter(db.Books.id == book_id).first()
|
||||
book = db.session.query(db.Books).filter(db.Books.id == book_id).filter(common_filters()).first()
|
||||
return get_book_cover_internal(book, use_generic_cover_on_failure=True)
|
||||
|
||||
def get_book_cover_with_uuid(book_uuid,
|
||||
|
@ -700,20 +700,17 @@ def common_filters(allow_show_archived=False):
|
|||
lang_filter = db.Books.languages.any(db.Languages.lang_code == current_user.filter_language())
|
||||
else:
|
||||
lang_filter = true()
|
||||
negtags_list = current_user.list_restricted_tags()
|
||||
negtags_list = current_user.list_denied_tags()
|
||||
postags_list = current_user.list_allowed_tags()
|
||||
neg_content_tags_filter = false() if negtags_list == [''] else db.Books.tags.any(db.Tags.name.in_(negtags_list))
|
||||
pos_content_tags_filter = true() if postags_list == [''] else db.Books.tags.any(db.Tags.name.in_(postags_list))
|
||||
# db.session.query(db.Books).filter(db.Books.custom_column_5.any(db.cc_classes[5].value == 'nikto')).first()
|
||||
# db.session.query(db.Books).filter(
|
||||
# getattr(db.Books, 'custom_column_' + str(5)).any(db.cc_classes[5].value == 'nikto').first())
|
||||
if config.config_restricted_column:
|
||||
pos_cc_list = current_user.allowed_column_value.split(',')
|
||||
pos_content_cc_filter = true() if pos_cc_list == [''] else \
|
||||
getattr(db.Books, 'custom_column_' + str(config.config_restricted_column)).\
|
||||
any(db.cc_classes[config.config_restricted_column].value.in_(pos_cc_list))
|
||||
neg_cc_list = current_user.restricted_column_value.split(',')
|
||||
neg_content_cc_filter = true() if neg_cc_list == [''] else \
|
||||
neg_cc_list = current_user.denied_column_value.split(',')
|
||||
neg_content_cc_filter = false() if neg_cc_list == [''] else \
|
||||
getattr(db.Books, 'custom_column_' + str(config.config_restricted_column)).\
|
||||
any(db.cc_classes[config.config_restricted_column].value.in_(neg_cc_list))
|
||||
else:
|
||||
|
@ -724,7 +721,7 @@ def common_filters(allow_show_archived=False):
|
|||
|
||||
|
||||
def tags_filters():
|
||||
negtags_list = current_user.list_restricted_tags()
|
||||
negtags_list = current_user.list_denied_tags()
|
||||
postags_list = current_user.list_allowed_tags()
|
||||
neg_content_tags_filter = false() if negtags_list == [''] else db.Tags.name.in_(negtags_list)
|
||||
pos_content_tags_filter = true() if postags_list == [''] else db.Tags.name.in_(postags_list)
|
||||
|
@ -735,7 +732,8 @@ def tags_filters():
|
|||
# Creates for all stored languages a translated speaking name in the array for the UI
|
||||
def speaking_language(languages=None):
|
||||
if not languages:
|
||||
languages = db.session.query(db.Languages).all()
|
||||
languages = db.session.query(db.Languages).join(db.books_languages_link).join(db.Books).filter(common_filters())\
|
||||
.group_by(text('books_languages_link.lang_code')).all()
|
||||
for lang in languages:
|
||||
try:
|
||||
cur_l = LC.parse(lang.lang_code)
|
||||
|
@ -826,7 +824,7 @@ def get_cc_columns():
|
|||
cc = []
|
||||
for col in tmpcc:
|
||||
r = re.compile(config.config_columns_to_ignore)
|
||||
if r.match(col.label):
|
||||
if not r.match(col.name):
|
||||
cc.append(col)
|
||||
else:
|
||||
cc = tmpcc
|
||||
|
|
19
cps/kobo.py
19
cps/kobo.py
|
@ -45,6 +45,7 @@ import requests
|
|||
from . import config, logger, kobo_auth, db, helper, ub
|
||||
from .services import SyncToken as SyncToken
|
||||
from .web import download_required
|
||||
from .kobo_auth import requires_kobo_auth
|
||||
|
||||
KOBO_FORMATS = {"KEPUB": ["KEPUB"], "EPUB": ["EPUB3", "EPUB"]}
|
||||
KOBO_STOREAPI_URL = "https://storeapi.kobo.com"
|
||||
|
@ -72,9 +73,11 @@ CONNECTION_SPECIFIC_HEADERS = [
|
|||
"transfer-encoding",
|
||||
]
|
||||
|
||||
def get_kobo_activated():
|
||||
return config.config_kobo_sync
|
||||
|
||||
def redirect_or_proxy_request():
|
||||
if config.config_kobo_proxy:
|
||||
def redirect_or_proxy_request(proxy=False):
|
||||
if config.config_kobo_proxy or proxy == True:
|
||||
if request.method == "GET":
|
||||
return redirect(get_store_url_for_current_request(), 307)
|
||||
else:
|
||||
|
@ -100,7 +103,7 @@ def redirect_or_proxy_request():
|
|||
return make_response(jsonify({}))
|
||||
|
||||
@kobo.route("/v1/library/sync")
|
||||
@login_required
|
||||
@requires_kobo_auth
|
||||
@download_required
|
||||
def HandleSyncRequest():
|
||||
sync_token = SyncToken.SyncToken.from_headers(request.headers)
|
||||
|
@ -214,7 +217,7 @@ def generate_sync_response(request, sync_token, entitlements):
|
|||
|
||||
|
||||
@kobo.route("/v1/library/<book_uuid>/metadata")
|
||||
@login_required
|
||||
@requires_kobo_auth
|
||||
@download_required
|
||||
def HandleMetadataRequest(book_uuid):
|
||||
if not current_app.wsgi_app.is_proxied:
|
||||
|
@ -367,7 +370,7 @@ def reading_state(book):
|
|||
|
||||
|
||||
@kobo.route("/<book_uuid>/image.jpg")
|
||||
@login_required
|
||||
@requires_kobo_auth
|
||||
def HandleCoverImageRequest(book_uuid):
|
||||
log.debug("Cover request received for book %s" % book_uuid)
|
||||
book_cover = helper.get_book_cover_with_uuid(
|
||||
|
@ -439,9 +442,13 @@ def handle_404(err):
|
|||
log.debug("Unknown Request received: %s", request.base_url)
|
||||
return redirect_or_proxy_request()
|
||||
|
||||
@kobo.route("/v1/auth/device", methods=["POST"])
|
||||
def login_auth_token():
|
||||
log.info('Auth')
|
||||
return redirect_or_proxy_request(proxy=True)
|
||||
|
||||
@kobo.route("/v1/initialization")
|
||||
@login_required
|
||||
@requires_kobo_auth
|
||||
def HandleInitRequest():
|
||||
if not current_app.wsgi_app.is_proxied:
|
||||
log.debug('Kobo: Received unproxied request, changed request port to server port')
|
||||
|
|
|
@ -61,13 +61,19 @@ from binascii import hexlify
|
|||
from datetime import datetime
|
||||
from os import urandom
|
||||
|
||||
from flask import g, Blueprint, url_for
|
||||
from flask import g, Blueprint, url_for, abort
|
||||
from flask_login import login_user, login_required
|
||||
from flask_babel import gettext as _
|
||||
|
||||
from . import logger, ub, lm
|
||||
from .web import render_title_template
|
||||
|
||||
try:
|
||||
from functools import wraps
|
||||
except ImportError:
|
||||
pass # We're not using Python 3
|
||||
|
||||
|
||||
log = logger.create()
|
||||
|
||||
|
||||
|
@ -88,21 +94,24 @@ def get_auth_token():
|
|||
return None
|
||||
|
||||
|
||||
@lm.request_loader
|
||||
def load_user_from_kobo_request(request):
|
||||
auth_token = get_auth_token()
|
||||
if auth_token is not None:
|
||||
user = (
|
||||
ub.session.query(ub.User)
|
||||
.join(ub.RemoteAuthToken)
|
||||
.filter(ub.RemoteAuthToken.auth_token == auth_token).filter(ub.RemoteAuthToken.token_type==1)
|
||||
.first()
|
||||
)
|
||||
if user is not None:
|
||||
login_user(user)
|
||||
return user
|
||||
log.info("Received Kobo request without a recognizable auth token.")
|
||||
return
|
||||
def requires_kobo_auth(f):
|
||||
@wraps(f)
|
||||
def inner(*args, **kwargs):
|
||||
auth_token = get_auth_token()
|
||||
if auth_token is not None:
|
||||
user = (
|
||||
ub.session.query(ub.User)
|
||||
.join(ub.RemoteAuthToken)
|
||||
.filter(ub.RemoteAuthToken.auth_token == auth_token).filter(ub.RemoteAuthToken.token_type==1)
|
||||
.first()
|
||||
)
|
||||
if user is not None:
|
||||
login_user(user)
|
||||
return f(*args, **kwargs)
|
||||
log.debug("Received Kobo request without a recognizable auth token.")
|
||||
return abort(401)
|
||||
return inner
|
||||
|
||||
|
||||
kobo_auth = Blueprint("kobo_auth", __name__, url_prefix="/kobo_auth")
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ def oauth_required(f):
|
|||
def inner(*args, **kwargs):
|
||||
if config.config_login_type == constants.LOGIN_OAUTH:
|
||||
return f(*args, **kwargs)
|
||||
if request.is_xhr:
|
||||
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
|
||||
data = {'status': 'error', 'message': 'Not Found'}
|
||||
response = make_response(json.dumps(data, ensure_ascii=False))
|
||||
response.headers["Content-Type"] = "application/json; charset=utf-8"
|
||||
|
|
|
@ -55,6 +55,7 @@ class WebServer(object):
|
|||
def __init__(self):
|
||||
signal.signal(signal.SIGINT, self._killServer)
|
||||
signal.signal(signal.SIGTERM, self._killServer)
|
||||
signal.signal(signal.SIGQUIT, self._killServer)
|
||||
|
||||
self.wsgiserver = None
|
||||
self.access_logger = None
|
||||
|
@ -146,7 +147,7 @@ class WebServer(object):
|
|||
self.unix_socket_file = None
|
||||
|
||||
def _start_tornado(self):
|
||||
if os.name == 'nt':
|
||||
if os.name == 'nt' and sys.version_info > (3, 7):
|
||||
import asyncio
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
log.info('Starting Tornado server on %s', _readable_listen_address(self.listen_address, self.listen_port))
|
||||
|
@ -156,7 +157,7 @@ class WebServer(object):
|
|||
max_buffer_size=209700000,
|
||||
ssl_options=self.ssl_args)
|
||||
http_server.listen(self.listen_port, self.listen_address)
|
||||
self.wsgiserver = IOLoop.instance()
|
||||
self.wsgiserver = IOLoop.current()
|
||||
self.wsgiserver.start()
|
||||
# wait for stop signal
|
||||
self.wsgiserver.close(True)
|
||||
|
@ -197,4 +198,4 @@ class WebServer(object):
|
|||
if _GEVENT:
|
||||
self.wsgiserver.close()
|
||||
else:
|
||||
self.wsgiserver.add_callback(self.wsgiserver.stop)
|
||||
self.wsgiserver.add_callback_from_signal(self.wsgiserver.stop)
|
||||
|
|
|
@ -41,3 +41,4 @@ try:
|
|||
except ImportError as err:
|
||||
log.debug("cannot import SyncToken, syncing books with Kobo Devices will not work: %s", err)
|
||||
kobo = None
|
||||
SyncToken = None
|
||||
|
|
51
cps/shelf.py
51
cps/shelf.py
|
@ -40,17 +40,18 @@ log = logger.create()
|
|||
@shelf.route("/shelf/add/<int:shelf_id>/<int:book_id>")
|
||||
@login_required
|
||||
def add_to_shelf(shelf_id, book_id):
|
||||
xhr = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
|
||||
shelf = ub.session.query(ub.Shelf).filter(ub.Shelf.id == shelf_id).first()
|
||||
if shelf is None:
|
||||
log.error("Invalid shelf specified: %s", shelf_id)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Invalid shelf specified"), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "Invalid shelf specified", 400
|
||||
|
||||
if not shelf.is_public and not shelf.user_id == int(current_user.id):
|
||||
log.error("User %s not allowed to add a book to %s", current_user, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Sorry you are not allowed to add a book to the the shelf: %(shelfname)s", shelfname=shelf.name),
|
||||
category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
|
@ -58,7 +59,7 @@ def add_to_shelf(shelf_id, book_id):
|
|||
|
||||
if shelf.is_public and not current_user.role_edit_shelfs():
|
||||
log.info("User %s not allowed to edit public shelves", current_user)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"You are not allowed to edit public shelves"), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "User is not allowed to edit public shelves", 403
|
||||
|
@ -67,7 +68,7 @@ def add_to_shelf(shelf_id, book_id):
|
|||
ub.BookShelf.book_id == book_id).first()
|
||||
if book_in_shelf:
|
||||
log.error("Book %s is already part of %s", book_id, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book is already part of the shelf: %(shelfname)s", shelfname=shelf.name), category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
return "Book is already part of the shelf: %s" % shelf.name, 400
|
||||
|
@ -81,7 +82,7 @@ def add_to_shelf(shelf_id, book_id):
|
|||
ins = ub.BookShelf(shelf=shelf.id, book_id=book_id, order=maxOrder + 1)
|
||||
ub.session.add(ins)
|
||||
ub.session.commit()
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book has been added to shelf: %(sname)s", sname=shelf.name), category="success")
|
||||
if "HTTP_REFERER" in request.environ:
|
||||
return redirect(request.environ["HTTP_REFERER"])
|
||||
|
@ -147,10 +148,11 @@ def search_to_shelf(shelf_id):
|
|||
@shelf.route("/shelf/remove/<int:shelf_id>/<int:book_id>")
|
||||
@login_required
|
||||
def remove_from_shelf(shelf_id, book_id):
|
||||
xhr = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
|
||||
shelf = ub.session.query(ub.Shelf).filter(ub.Shelf.id == shelf_id).first()
|
||||
if shelf is None:
|
||||
log.error("Invalid shelf specified: %s", shelf_id)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
return redirect(url_for('web.index'))
|
||||
return "Invalid shelf specified", 400
|
||||
|
||||
|
@ -169,20 +171,20 @@ def remove_from_shelf(shelf_id, book_id):
|
|||
|
||||
if book_shelf is None:
|
||||
log.error("Book %s already removed from %s", book_id, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
return redirect(url_for('web.index'))
|
||||
return "Book already removed from shelf", 410
|
||||
|
||||
ub.session.delete(book_shelf)
|
||||
ub.session.commit()
|
||||
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Book has been removed from shelf: %(sname)s", sname=shelf.name), category="success")
|
||||
return redirect(request.environ["HTTP_REFERER"])
|
||||
return "", 204
|
||||
else:
|
||||
log.error("User %s not allowed to remove a book from %s", current_user, shelf)
|
||||
if not request.is_xhr:
|
||||
if not xhr:
|
||||
flash(_(u"Sorry you are not allowed to remove a book from this shelf: %(sname)s", sname=shelf.name),
|
||||
category="error")
|
||||
return redirect(url_for('web.index'))
|
||||
|
@ -284,8 +286,16 @@ def show_shelf(shelf_type, shelf_id):
|
|||
|
||||
books_in_shelf = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id)\
|
||||
.order_by(ub.BookShelf.order.asc()).all()
|
||||
books_list = [ b.book_id for b in books_in_shelf]
|
||||
result = db.session.query(db.Books).filter(db.Books.id.in_(books_list)).filter(common_filters()).all()
|
||||
for book in books_in_shelf:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).filter(common_filters()).first()
|
||||
if cur_book:
|
||||
result.append(cur_book)
|
||||
else:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).first()
|
||||
if not cur_book:
|
||||
log.info('Not existing book %s in %s deleted', book.book_id, shelf)
|
||||
ub.session.query(ub.BookShelf).filter(ub.BookShelf.book_id == book.book_id).delete()
|
||||
ub.session.commit()
|
||||
return render_title_template(page, entries=result, title=_(u"Shelf: '%(name)s'", name=shelf.name),
|
||||
shelf=shelf, page="shelf")
|
||||
else:
|
||||
|
@ -315,11 +325,22 @@ def order_shelf(shelf_id):
|
|||
ub.Shelf.id == shelf_id))).first()
|
||||
result = list()
|
||||
if shelf:
|
||||
books_in_shelf = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id) \
|
||||
books_in_shelf2 = ub.session.query(ub.BookShelf).filter(ub.BookShelf.shelf == shelf_id) \
|
||||
.order_by(ub.BookShelf.order.asc()).all()
|
||||
books_list = [ b.book_id for b in books_in_shelf]
|
||||
# cover, title, series, name, all author names,
|
||||
result = db.session.query(db.Books).filter(db.Books.id.in_(books_list)).filter(common_filters()).all()
|
||||
for book in books_in_shelf2:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).filter(common_filters()).first()
|
||||
if cur_book:
|
||||
result.append({'title':cur_book.title,
|
||||
'id':cur_book.id,
|
||||
'author':cur_book.authors,
|
||||
'series':cur_book.series,
|
||||
'series_index':cur_book.series_index})
|
||||
else:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == book.book_id).first()
|
||||
result.append({'title':_('Hidden Book'),
|
||||
'id':cur_book.id,
|
||||
'author':[],
|
||||
'series':[]})
|
||||
return render_title_template('shelf_order.html', entries=result,
|
||||
title=_(u"Change order of Shelf: '%(name)s'", name=shelf.name),
|
||||
shelf=shelf, page="shelforder")
|
||||
|
|
116
cps/static/css/libs/viewer.css
vendored
116
cps/static/css/libs/viewer.css
vendored
|
@ -230,36 +230,46 @@
|
|||
z-index: 200;
|
||||
max-width: 20em;
|
||||
background-color: #FFFF99;
|
||||
box-shadow: 0px 2px 5px #333;
|
||||
box-shadow: 0px 2px 5px #888;
|
||||
border-radius: 2px;
|
||||
padding: 0.6em;
|
||||
padding: 6px;
|
||||
margin-left: 5px;
|
||||
cursor: pointer;
|
||||
font: message-box;
|
||||
font-size: 9px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.annotationLayer .popup > * {
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
.annotationLayer .popup h1 {
|
||||
font-size: 1em;
|
||||
border-bottom: 1px solid #000000;
|
||||
margin: 0;
|
||||
padding-bottom: 0.2em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.annotationLayer .popup span {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.annotationLayer .popup p {
|
||||
margin: 0;
|
||||
padding-top: 0.2em;
|
||||
border-top: 1px solid #333;
|
||||
margin-top: 2px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
.annotationLayer .highlightAnnotation,
|
||||
.annotationLayer .underlineAnnotation,
|
||||
.annotationLayer .squigglyAnnotation,
|
||||
.annotationLayer .strikeoutAnnotation,
|
||||
.annotationLayer .freeTextAnnotation,
|
||||
.annotationLayer .lineAnnotation svg line,
|
||||
.annotationLayer .squareAnnotation svg rect,
|
||||
.annotationLayer .circleAnnotation svg ellipse,
|
||||
.annotationLayer .polylineAnnotation svg polyline,
|
||||
.annotationLayer .polygonAnnotation svg polygon,
|
||||
.annotationLayer .caretAnnotation,
|
||||
.annotationLayer .inkAnnotation svg polyline,
|
||||
.annotationLayer .stampAnnotation,
|
||||
.annotationLayer .fileAttachmentAnnotation {
|
||||
|
@ -279,8 +289,9 @@
|
|||
overflow: visible;
|
||||
border: 9px solid transparent;
|
||||
background-clip: content-box;
|
||||
-o-border-image: url(images/shadow.png) 9 9 repeat;
|
||||
border-image: url(images/shadow.png) 9 9 repeat;
|
||||
-webkit-border-image: url(images/shadow.png) 9 9 repeat;
|
||||
-o-border-image: url(images/shadow.png) 9 9 repeat;
|
||||
border-image: url(images/shadow.png) 9 9 repeat;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
@ -543,15 +554,20 @@ select {
|
|||
z-index: 100;
|
||||
border-top: 1px solid #333;
|
||||
|
||||
transition-duration: 200ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 200ms;
|
||||
|
||||
transition-duration: 200ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
}
|
||||
html[dir='ltr'] #sidebarContainer {
|
||||
-webkit-transition-property: left;
|
||||
transition-property: left;
|
||||
left: -200px;
|
||||
left: calc(-1 * var(--sidebar-width));
|
||||
}
|
||||
html[dir='rtl'] #sidebarContainer {
|
||||
-webkit-transition-property: right;
|
||||
transition-property: right;
|
||||
right: -200px;
|
||||
right: calc(-1 * var(--sidebar-width));
|
||||
|
@ -563,7 +579,8 @@ html[dir='rtl'] #sidebarContainer {
|
|||
|
||||
#outerContainer.sidebarResizing #sidebarContainer {
|
||||
/* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 0s;
|
||||
transition-duration: 0s;
|
||||
/* Prevent e.g. the thumbnails being selected when the sidebar is resized. */
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
|
@ -620,8 +637,10 @@ html[dir='rtl'] #sidebarContent {
|
|||
outline: none;
|
||||
}
|
||||
#viewerContainer:not(.pdfPresentationMode) {
|
||||
transition-duration: 200ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 200ms;
|
||||
transition-duration: 200ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
}
|
||||
html[dir='ltr'] #viewerContainer {
|
||||
box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05);
|
||||
|
@ -632,15 +651,18 @@ html[dir='rtl'] #viewerContainer {
|
|||
|
||||
#outerContainer.sidebarResizing #viewerContainer {
|
||||
/* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 0s;
|
||||
transition-duration: 0s;
|
||||
}
|
||||
|
||||
html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
|
||||
-webkit-transition-property: left;
|
||||
transition-property: left;
|
||||
left: 200px;
|
||||
left: var(--sidebar-width);
|
||||
}
|
||||
html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
|
||||
-webkit-transition-property: right;
|
||||
transition-property: right;
|
||||
right: 200px;
|
||||
right: var(--sidebar-width);
|
||||
|
@ -662,6 +684,8 @@ html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentatio
|
|||
width: 100%;
|
||||
height: 32px;
|
||||
background-color: #424242; /* fallback */
|
||||
background-image: url(images/texture.png),
|
||||
-webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,30%,.99)), to(hsla(0,0%,25%,.95)));
|
||||
background-image: url(images/texture.png),
|
||||
linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95));
|
||||
}
|
||||
|
@ -697,6 +721,8 @@ html[dir='rtl'] #sidebarResizer {
|
|||
position: relative;
|
||||
height: 32px;
|
||||
background-color: #474747; /* fallback */
|
||||
background-image: url(images/texture.png),
|
||||
-webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,32%,.99)), to(hsla(0,0%,27%,.95)));
|
||||
background-image: url(images/texture.png),
|
||||
linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
|
||||
}
|
||||
|
@ -733,6 +759,7 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
|
|||
height: 100%;
|
||||
background-color: #ddd;
|
||||
overflow: hidden;
|
||||
-webkit-transition: width 200ms;
|
||||
transition: width 200ms;
|
||||
}
|
||||
|
||||
|
@ -748,6 +775,7 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
|
|||
|
||||
#loadingBar .progress.indeterminate {
|
||||
background-color: #999;
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
|
@ -815,6 +843,9 @@ html[dir='rtl'] .findbar {
|
|||
#findInput::-webkit-input-placeholder {
|
||||
color: hsl(0, 0%, 75%);
|
||||
}
|
||||
#findInput::-moz-placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
#findInput:-ms-input-placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
|
@ -1006,6 +1037,7 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton {
|
|||
.splitToolbarButton.toggled > .toolbarButton,
|
||||
.toolbarButton.textButton {
|
||||
background-color: hsla(0,0%,0%,.12);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
border: 1px solid hsla(0,0%,0%,.35);
|
||||
|
@ -1013,9 +1045,12 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton {
|
|||
box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
|
||||
0 0 1px hsla(0,0%,100%,.15) inset,
|
||||
0 1px 0 hsla(0,0%,100%,.05);
|
||||
-webkit-transition-property: background-color, border-color, box-shadow;
|
||||
transition-property: background-color, border-color, box-shadow;
|
||||
transition-duration: 150ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 150ms;
|
||||
transition-duration: 150ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
|
||||
}
|
||||
.splitToolbarButton > .toolbarButton:hover,
|
||||
|
@ -1072,9 +1107,12 @@ html[dir='rtl'] .splitToolbarButtonSeparator {
|
|||
padding: 12px 0;
|
||||
margin: 1px 0;
|
||||
box-shadow: 0 0 0 1px hsla(0,0%,100%,.03);
|
||||
-webkit-transition-property: padding;
|
||||
transition-property: padding;
|
||||
transition-duration: 10ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 10ms;
|
||||
transition-duration: 10ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
}
|
||||
|
||||
.toolbarButton,
|
||||
|
@ -1094,9 +1132,12 @@ html[dir='rtl'] .splitToolbarButtonSeparator {
|
|||
user-select: none;
|
||||
/* Opera does not support user-select, use <... unselectable="on"> instead */
|
||||
cursor: default;
|
||||
-webkit-transition-property: background-color, border-color, box-shadow;
|
||||
transition-property: background-color, border-color, box-shadow;
|
||||
transition-duration: 150ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 150ms;
|
||||
transition-duration: 150ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
}
|
||||
|
||||
html[dir='ltr'] .toolbarButton,
|
||||
|
@ -1117,6 +1158,7 @@ html[dir='rtl'] .dropdownToolbarButton {
|
|||
.secondaryToolbarButton:hover,
|
||||
.secondaryToolbarButton:focus {
|
||||
background-color: hsla(0,0%,0%,.12);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
border: 1px solid hsla(0,0%,0%,.35);
|
||||
|
@ -1131,28 +1173,36 @@ html[dir='rtl'] .dropdownToolbarButton {
|
|||
.dropdownToolbarButton:hover:active,
|
||||
.secondaryToolbarButton:hover:active {
|
||||
background-color: hsla(0,0%,0%,.2);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
border-color: hsla(0,0%,0%,.35) hsla(0,0%,0%,.4) hsla(0,0%,0%,.45);
|
||||
box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
|
||||
0 0 1px hsla(0,0%,0%,.2) inset,
|
||||
0 1px 0 hsla(0,0%,100%,.05);
|
||||
-webkit-transition-property: background-color, border-color, box-shadow;
|
||||
transition-property: background-color, border-color, box-shadow;
|
||||
transition-duration: 10ms;
|
||||
transition-timing-function: linear;
|
||||
-webkit-transition-duration: 10ms;
|
||||
transition-duration: 10ms;
|
||||
-webkit-transition-timing-function: linear;
|
||||
transition-timing-function: linear;
|
||||
}
|
||||
|
||||
.toolbarButton.toggled,
|
||||
.splitToolbarButton.toggled > .toolbarButton.toggled,
|
||||
.secondaryToolbarButton.toggled {
|
||||
background-color: hsla(0,0%,0%,.3);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.45) hsla(0,0%,0%,.5);
|
||||
box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
|
||||
0 0 1px hsla(0,0%,0%,.2) inset,
|
||||
0 1px 0 hsla(0,0%,100%,.05);
|
||||
-webkit-transition-property: background-color, border-color, box-shadow;
|
||||
transition-property: background-color, border-color, box-shadow;
|
||||
transition-duration: 10ms;
|
||||
transition-timing-function: linear;
|
||||
-webkit-transition-duration: 10ms;
|
||||
transition-duration: 10ms;
|
||||
-webkit-transition-timing-function: linear;
|
||||
transition-timing-function: linear;
|
||||
}
|
||||
|
||||
.toolbarButton.toggled:hover:active,
|
||||
|
@ -1493,6 +1543,7 @@ html[dir='rtl'] .verticalToolbarSeparator {
|
|||
border: 1px solid transparent;
|
||||
border-radius: 2px;
|
||||
background-color: hsla(0,0%,100%,.09);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
border: 1px solid hsla(0,0%,0%,.35);
|
||||
|
@ -1503,9 +1554,12 @@ html[dir='rtl'] .verticalToolbarSeparator {
|
|||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
outline-style: none;
|
||||
-webkit-transition-property: background-color, border-color, box-shadow;
|
||||
transition-property: background-color, border-color, box-shadow;
|
||||
transition-duration: 150ms;
|
||||
transition-timing-function: ease;
|
||||
-webkit-transition-duration: 150ms;
|
||||
transition-duration: 150ms;
|
||||
-webkit-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
}
|
||||
|
||||
.toolbarField[type=checkbox] {
|
||||
|
@ -1619,6 +1673,7 @@ a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,
|
|||
a:focus > .thumbnail > .thumbnailSelectionRing,
|
||||
.thumbnail:hover > .thumbnailSelectionRing {
|
||||
background-color: hsla(0,0%,100%,.15);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
|
||||
|
@ -1634,6 +1689,7 @@ a:focus > .thumbnail > .thumbnailSelectionRing,
|
|||
|
||||
.thumbnail.selected > .thumbnailSelectionRing {
|
||||
background-color: hsla(0,0%,100%,.3);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
|
||||
|
@ -1755,6 +1811,7 @@ html[dir='rtl'] .outlineItemToggler::before {
|
|||
.outlineItem > a:hover,
|
||||
.attachmentsItem > button:hover {
|
||||
background-color: hsla(0,0%,100%,.02);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
|
||||
|
@ -1766,6 +1823,7 @@ html[dir='rtl'] .outlineItemToggler::before {
|
|||
|
||||
.outlineItem.selected {
|
||||
background-color: hsla(0,0%,100%,.08);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,100%,.05)), to(hsla(0,0%,100%,0)));
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
|
||||
background-clip: padding-box;
|
||||
box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
|
||||
|
@ -1850,6 +1908,8 @@ html[dir='rtl'] .outlineItemToggler::before {
|
|||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
background-color: #474747; /* fallback */
|
||||
background-image: url(images/texture.png),
|
||||
-webkit-gradient(linear, left top, left bottom, from(hsla(0,0%,32%,.99)), to(hsla(0,0%,27%,.95)));
|
||||
background-image: url(images/texture.png),
|
||||
linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
|
||||
box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08),
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* Google Books api document: https://developers.google.com/books/docs/v1/using
|
||||
* Douban Books api document: https://developers.douban.com/wiki/?title=book_v2 (Chinese Only)
|
||||
*/
|
||||
/* global _, i18nMsg, tinymce */
|
||||
/* global _, i18nMsg, tinymce */
|
||||
var dbResults = [];
|
||||
var ggResults = [];
|
||||
|
||||
|
@ -55,9 +55,9 @@ $(function () {
|
|||
$(".cover img").attr("src", book.cover);
|
||||
$("#cover_url").val(book.cover);
|
||||
$("#pubdate").val(book.publishedDate);
|
||||
$("#publisher").val(book.publisher)
|
||||
if (book.series != undefined) {
|
||||
$("#series").val(book.series)
|
||||
$("#publisher").val(book.publisher);
|
||||
if (typeof book.series !== "undefined") {
|
||||
$("#series").val(book.series);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -72,16 +72,18 @@ $(function () {
|
|||
}
|
||||
function formatDate (date) {
|
||||
var d = new Date(date),
|
||||
month = '' + (d.getMonth() + 1),
|
||||
day = '' + d.getDate(),
|
||||
month = "" + (d.getMonth() + 1),
|
||||
day = "" + d.getDate(),
|
||||
year = d.getFullYear();
|
||||
|
||||
if (month.length < 2)
|
||||
month = '0' + month;
|
||||
if (day.length < 2)
|
||||
day = '0' + day;
|
||||
|
||||
return [year, month, day].join('-');
|
||||
|
||||
if (month.length < 2) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (day.length < 2) {
|
||||
day = "0" + day;
|
||||
}
|
||||
|
||||
return [year, month, day].join("-");
|
||||
}
|
||||
|
||||
if (ggDone && ggResults.length > 0) {
|
||||
|
@ -116,16 +118,17 @@ $(function () {
|
|||
}
|
||||
if (dbDone && dbResults.length > 0) {
|
||||
dbResults.forEach(function(result) {
|
||||
if (result.series){
|
||||
var series_title = result.series.title
|
||||
var seriesTitle = "";
|
||||
if (result.series) {
|
||||
seriesTitle = result.series.title;
|
||||
}
|
||||
var date_fomers = result.pubdate.split("-")
|
||||
var publishedYear = parseInt(date_fomers[0])
|
||||
var publishedMonth = parseInt(date_fomers[1])
|
||||
var publishedDate = new Date(publishedYear, publishedMonth-1, 1)
|
||||
var dateFomers = result.pubdate.split("-");
|
||||
var publishedYear = parseInt(dateFomers[0]);
|
||||
var publishedMonth = parseInt(dateFomers[1]);
|
||||
var publishedDate = new Date(publishedYear, publishedMonth - 1, 1);
|
||||
|
||||
publishedDate = formatDate(publishedDate);
|
||||
|
||||
publishedDate = formatDate(publishedDate)
|
||||
|
||||
var book = {
|
||||
id: result.id,
|
||||
title: result.title,
|
||||
|
@ -137,7 +140,7 @@ $(function () {
|
|||
return tag.title.toLowerCase().replace(/,/g, "_");
|
||||
}),
|
||||
rating: result.rating.average || 0,
|
||||
series: series_title || "",
|
||||
series: seriesTitle || "",
|
||||
cover: result.image,
|
||||
url: "https://book.douban.com/subject/" + result.id,
|
||||
source: {
|
||||
|
@ -183,7 +186,7 @@ $(function () {
|
|||
}
|
||||
|
||||
function dbSearchBook (title) {
|
||||
apikey="0df993c66c0c636e29ecbb5344252a4a"
|
||||
var apikey = "0df993c66c0c636e29ecbb5344252a4a";
|
||||
$.ajax({
|
||||
url: douban + dbSearch + "?apikey=" + apikey + "&q=" + title + "&fields=all&count=10",
|
||||
type: "GET",
|
||||
|
@ -193,7 +196,7 @@ $(function () {
|
|||
dbResults = data.books;
|
||||
},
|
||||
error: function error() {
|
||||
$("#meta-info").html("<p class=\"text-danger\">" + msg.search_error + "!</p>"+ $("#meta-info")[0].innerHTML)
|
||||
$("#meta-info").html("<p class=\"text-danger\">" + msg.search_error + "!</p>" + $("#meta-info")[0].innerHTML);
|
||||
},
|
||||
complete: function complete() {
|
||||
dbDone = true;
|
||||
|
|
4
cps/static/js/libs/Sortable.min.js
vendored
4
cps/static/js/libs/Sortable.min.js
vendored
File diff suppressed because one or more lines are too long
5819
cps/static/js/libs/pdf.js
vendored
5819
cps/static/js/libs/pdf.js
vendored
File diff suppressed because it is too large
Load Diff
4961
cps/static/js/libs/pdf.worker.js
vendored
4961
cps/static/js/libs/pdf.worker.js
vendored
File diff suppressed because it is too large
Load Diff
1763
cps/static/js/libs/viewer.js
vendored
1763
cps/static/js/libs/viewer.js
vendored
File diff suppressed because it is too large
Load Diff
|
@ -29,7 +29,7 @@ function sendData(path) {
|
|||
var maxElements;
|
||||
var tmp = [];
|
||||
|
||||
elements = Sortable.utils.find(sortTrue, "div");
|
||||
elements = $(".list-group-item");
|
||||
maxElements = elements.length;
|
||||
|
||||
var form = document.createElement("form");
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=ملف PDF تالف أو غير صحيح.
|
|||
missing_file_error=ملف PDF غير موجود.
|
||||
unexpected_response_error=استجابة خادوم غير متوقعة.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}، {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Няспраўны або пашкоджаны файл PDF.
|
|||
missing_file_error=Адсутны файл PDF.
|
||||
unexpected_response_error=Нечаканы адказ сервера.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Restr PDF didalvoudek pe kontronet.
|
|||
missing_file_error=Restr PDF o vankout.
|
||||
unexpected_response_error=Respont dic'hortoz a-berzh an dafariad
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Man oke ta o yujtajinäq ri PDF yakb'äl.
|
|||
missing_file_error=Man xilitäj ta ri PDF yakb'äl.
|
||||
unexpected_response_error=Man oyob'en ta tz'olin rutzij ruk'u'x samaj.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Neplatný nebo chybný soubor PDF.
|
|||
missing_file_error=Chybí soubor PDF.
|
||||
unexpected_response_error=Neočekávaná odpověď serveru.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ffeil PDF annilys neu llwgr.
|
|||
missing_file_error=Ffeil PDF coll.
|
||||
unexpected_response_error=Ymateb annisgwyl gan y gweinydd.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=PDF-filen er ugyldig eller ødelagt.
|
|||
missing_file_error=Manglende PDF-fil.
|
||||
unexpected_response_error=Uventet svar fra serveren.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ungültige oder beschädigte PDF-Datei
|
|||
missing_file_error=Fehlende PDF-Datei
|
||||
unexpected_response_error=Unerwartete Antwort des Servers
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Μη έγκυρο ή κατεστραμμένο αρχείο
|
|||
missing_file_error=Λείπει αρχείο PDF.
|
||||
unexpected_response_error=Μη αναμενόμενη απόκριση από το διακομιστή.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Invalid or corrupted PDF file.
|
|||
missing_file_error=Missing PDF file.
|
||||
unexpected_response_error=Unexpected server response.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Invalid or corrupted PDF file.
|
|||
missing_file_error=Missing PDF file.
|
||||
unexpected_response_error=Unexpected server response.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Invalid or corrupted PDF file.
|
|||
missing_file_error=Missing PDF file.
|
||||
unexpected_response_error=Unexpected server response.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Nevalida aŭ difektita PDF dosiero.
|
|||
missing_file_error=Mankas dosiero PDF.
|
||||
unexpected_response_error=Neatendita respondo de servilo.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Archivo PDF no válido o cocrrupto.
|
|||
missing_file_error=Archivo PDF faltante.
|
||||
unexpected_response_error=Respuesta del servidor inesperada.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Archivo PDF inválido o corrupto.
|
|||
missing_file_error=Falta el archivo PDF.
|
||||
unexpected_response_error=Respuesta del servidor inesperada.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Fichero PDF no válido o corrupto.
|
|||
missing_file_error=No hay fichero PDF.
|
||||
unexpected_response_error=Respuesta inesperada del servidor.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Vigane või rikutud PDF-fail.
|
|||
missing_file_error=PDF-fail puudub.
|
||||
unexpected_response_error=Ootamatu vastus serverilt.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=PDF fitxategi baliogabe edo hondatua.
|
|||
missing_file_error=PDF fitxategia falta da.
|
||||
unexpected_response_error=Espero gabeko zerbitzariaren erantzuna.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto.
|
|||
missing_file_error=Puuttuva PDF-tiedosto.
|
||||
unexpected_response_error=Odottamaton vastaus palvelimelta.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Fichier PDF invalide ou corrompu.
|
|||
missing_file_error=Fichier PDF manquant.
|
||||
unexpected_response_error=Réponse inattendue du serveur.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} à {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ynfalide of korruptearre PDF-bestân.
|
|||
missing_file_error=PDF-bestân ûntbrekt.
|
||||
unexpected_response_error=Unferwacht serverantwurd.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=PDF marandurenda ndoikóiva térã ivaipyréva.
|
|||
missing_file_error=Ndaipóri PDF marandurenda
|
||||
unexpected_response_error=Mohendahavusu mbohovái ñeha'arõ'ỹva.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -173,6 +173,7 @@ find_reached_bottom=הגיע לסוף הדף, ממשיך מלמעלה
|
|||
# "{{current}}" and "{{total}}" will be replaced by a number representing the
|
||||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
find_match_count[one]=תוצאה {{current}} מתוך {{total}}
|
||||
find_match_count[two]={{current}} מתוך {{total}} תוצאות
|
||||
find_match_count[few]={{current}} מתוך {{total}} תוצאות
|
||||
|
@ -181,13 +182,14 @@ find_match_count[other]={{current}} מתוך {{total}} תוצאות
|
|||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit={[ plural(limit) ]}
|
||||
find_match_count_limit[zero]=יותר מ־{{limit}} תוצאות
|
||||
find_match_count_limit[one]=יותר מתוצאה אחת
|
||||
find_match_count_limit[two]=יותר מ־{{limit}} תוצאות
|
||||
find_match_count_limit[few]=יותר מ־{{limit}} תוצאות
|
||||
find_match_count_limit[many]=יותר מ־{{limit}} תוצאות
|
||||
find_match_count_limit[other]=יותר מ־{{limit}} תוצאות
|
||||
find_not_found=ביטוי לא נמצא
|
||||
find_not_found=הביטוי לא נמצא
|
||||
|
||||
# Error panel labels
|
||||
error_more_info=מידע נוסף
|
||||
|
@ -224,6 +226,10 @@ invalid_file_error=קובץ PDF פגום או לא תקין.
|
|||
missing_file_error=קובץ PDF חסר.
|
||||
unexpected_response_error=תגובת שרת לא צפויה.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -208,6 +208,10 @@ invalid_file_error=अमान्य या भ्रष्ट PDF फ़ाइ
|
|||
missing_file_error=\u0020अनुपस्थित PDF फ़ाइल.
|
||||
unexpected_response_error=अप्रत्याशित सर्वर प्रतिक्रिया.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -65,7 +65,19 @@ cursor_text_select_tool_label=Alat za označavanje teksta
|
|||
cursor_hand_tool.title=Omogući ručni alat
|
||||
cursor_hand_tool_label=Ručni alat
|
||||
|
||||
scroll_vertical.title=Koristi okomito pomicanje
|
||||
scroll_vertical_label=Okomito pomicanje
|
||||
scroll_horizontal.title=Koristi vodoravno pomicanje
|
||||
scroll_horizontal_label=Vodoravno pomicanje
|
||||
scroll_wrapped.title=Koristi omotano pomicanje
|
||||
scroll_wrapped_label=Omotano pomicanje
|
||||
|
||||
spread_none.title=Ne pridružuj razmake stranica
|
||||
spread_none_label=Bez razmaka
|
||||
spread_odd.title=Pridruži razmake stranica počinjući od neparnih stranica
|
||||
spread_odd_label=Neparni razmaci
|
||||
spread_even.title=Pridruži razmake stranica počinjući od parnih stranica
|
||||
spread_even_label=Parni razmaci
|
||||
|
||||
# Document properties dialog box
|
||||
document_properties.title=Svojstva dokumenta...
|
||||
|
@ -91,8 +103,15 @@ document_properties_creator=Stvaratelj:
|
|||
document_properties_producer=PDF stvaratelj:
|
||||
document_properties_version=PDF inačica:
|
||||
document_properties_page_count=Broj stranica:
|
||||
document_properties_page_size=Dimenzije stranice:
|
||||
document_properties_page_size_unit_inches=in
|
||||
document_properties_page_size_unit_millimeters=mm
|
||||
document_properties_page_size_orientation_portrait=portret
|
||||
document_properties_page_size_orientation_landscape=pejzaž
|
||||
document_properties_page_size_name_a3=A3
|
||||
document_properties_page_size_name_a4=A4
|
||||
document_properties_page_size_name_letter=Pismo
|
||||
document_properties_page_size_name_legal=Pravno
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
|
||||
# the size, respectively their unit of measurement and orientation, of the (current) page.
|
||||
|
@ -103,6 +122,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}
|
|||
document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
|
||||
# the document; usually called "Fast Web View" in English locales of Adobe software.
|
||||
document_properties_linearized=Brzi web pregled:
|
||||
document_properties_linearized_yes=Da
|
||||
document_properties_linearized_no=Ne
|
||||
document_properties_close=Zatvori
|
||||
|
@ -145,6 +165,7 @@ find_next.title=Pronađi iduće javljanje ovog izraza
|
|||
find_next_label=Sljedeće
|
||||
find_highlight=Istankni sve
|
||||
find_match_case_label=Slučaj podudaranja
|
||||
find_entire_word_label=Cijele riječi
|
||||
find_reached_top=Dosegnut vrh dokumenta, nastavak od dna
|
||||
find_reached_bottom=Dosegnut vrh dokumenta, nastavak od vrha
|
||||
# LOCALIZATION NOTE (find_match_count): The supported plural forms are
|
||||
|
@ -152,9 +173,22 @@ find_reached_bottom=Dosegnut vrh dokumenta, nastavak od vrha
|
|||
# "{{current}}" and "{{total}}" will be replaced by a number representing the
|
||||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
find_match_count[one]={{current}} od {{total}} se podudara
|
||||
find_match_count[two]={{current}} od {{total}} se podudara
|
||||
find_match_count[few]={{current}} od {{total}} se podudara
|
||||
find_match_count[many]={{current}} od {{total}} se podudara
|
||||
find_match_count[other]={{current}} od {{total}} se podudara
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit={[ plural(limit) ]}
|
||||
find_match_count_limit[zero]=Više od {{limit}} podudaranja
|
||||
find_match_count_limit[one]=Više od {{limit}} podudaranja
|
||||
find_match_count_limit[two]=Više od {{limit}} podudaranja
|
||||
find_match_count_limit[few]=Više od {{limit}} podudaranja
|
||||
find_match_count_limit[many]=Više od {{limit}} podudaranja
|
||||
find_match_count_limit[other]=Više od {{limit}} podudaranja
|
||||
find_not_found=Izraz nije pronađen
|
||||
|
||||
# Error panel labels
|
||||
|
@ -192,6 +226,10 @@ invalid_file_error=Kriva ili oštećena PDF datoteka.
|
|||
missing_file_error=Nedostaje PDF datoteka.
|
||||
unexpected_response_error=Neočekivani odgovor poslužitelja.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Njepłaćiwa abo wobškodźena PDF-dataja.
|
|||
missing_file_error=Falowaca PDF-dataja.
|
||||
unexpected_response_error=Njewočakowana serwerowa wotmołwa.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Érvénytelen vagy sérült PDF fájl.
|
|||
missing_file_error=Hiányzó PDF fájl.
|
||||
unexpected_response_error=Váratlan kiszolgálóválasz.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=File PDF corrumpite o non valide.
|
|||
missing_file_error=File PDF mancante.
|
||||
unexpected_response_error=Responsa del servitor inexpectate.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Berkas PDF tidak valid atau rusak.
|
|||
missing_file_error=Berkas PDF tidak ada.
|
||||
unexpected_response_error=Balasan server yang tidak diharapkan.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -65,7 +65,17 @@ cursor_text_select_tool_label=Textavalsáhald
|
|||
cursor_hand_tool.title=Virkja handarverkfæri
|
||||
cursor_hand_tool_label=Handarverkfæri
|
||||
|
||||
scroll_vertical.title=Nota lóðrétt skrun
|
||||
scroll_vertical_label=Lóðrétt skrun
|
||||
scroll_horizontal.title=Nota lárétt skrun
|
||||
scroll_horizontal_label=Lárétt skrun
|
||||
|
||||
spread_none.title=Ekki taka þátt í dreifingu síðna
|
||||
spread_none_label=Engin dreifing
|
||||
spread_odd.title=Taka þátt í dreifingu síðna með oddatölum
|
||||
spread_odd_label=Oddatöludreifing
|
||||
spread_even.title=Taktu þátt í dreifingu síðna með jöfnuntölum
|
||||
spread_even_label=Jafnatöludreifing
|
||||
|
||||
# Document properties dialog box
|
||||
document_properties.title=Eiginleikar skjals…
|
||||
|
@ -161,10 +171,21 @@ find_reached_bottom=Náði enda skjals, held áfram efst
|
|||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
find_match_count[one]={{current}} af {{total}} niðurstöðu
|
||||
find_match_count[two]={{current}} af {{total}} niðurstöðum
|
||||
find_match_count[few]={{current}} af {{total}} niðurstöðum
|
||||
find_match_count[many]={{current}} af {{total}} niðurstöðum
|
||||
find_match_count[other]={{current}} af {{total}} niðurstöðum
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit={[ plural(limit) ]}
|
||||
find_match_count_limit[zero]=Fleiri en {{limit}} niðurstöður
|
||||
find_match_count_limit[one]=Fleiri en {{limit}} niðurstaða
|
||||
find_match_count_limit[two]=Fleiri en {{limit}} niðurstöður
|
||||
find_match_count_limit[few]=Fleiri en {{limit}} niðurstöður
|
||||
find_match_count_limit[many]=Fleiri en {{limit}} niðurstöður
|
||||
find_match_count_limit[other]=Fleiri en {{limit}} niðurstöður
|
||||
find_not_found=Fann ekki orðið
|
||||
|
||||
# Error panel labels
|
||||
|
|
|
@ -146,6 +146,7 @@ loading_error = Si è verificato un errore durante il caricamento del PDF.
|
|||
invalid_file_error = File PDF non valido o danneggiato.
|
||||
missing_file_error = File PDF non disponibile.
|
||||
unexpected_response_error = Risposta imprevista del server
|
||||
annotation_date_string = {{date}}, {{time}}
|
||||
text_annotation_type.alt = [Annotazione: {{type}}]
|
||||
password_label = Inserire la password per aprire questo file PDF.
|
||||
password_invalid = Password non corretta. Riprovare.
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=無効または破損した PDF ファイル。
|
|||
missing_file_error=PDF ファイルが見つかりません。
|
||||
unexpected_response_error=サーバーから予期せぬ応答がありました。
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -100,8 +100,8 @@ document_properties_modification_date=ჩასწორების თარ
|
|||
# will be replaced by the creation/modification date, and time, of the PDF file.
|
||||
document_properties_date_string={{date}}, {{time}}
|
||||
document_properties_creator=გამომშვები:
|
||||
document_properties_producer=PDF გამომშვები:
|
||||
document_properties_version=PDF ვერსია:
|
||||
document_properties_producer=PDF-გამომშვები:
|
||||
document_properties_version=PDF-ვერსია:
|
||||
document_properties_page_count=გვერდების რაოდენობა:
|
||||
document_properties_page_size=გვერდის ზომა:
|
||||
document_properties_page_size_unit_inches=დუიმი
|
||||
|
@ -122,7 +122,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}
|
|||
document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
|
||||
# the document; usually called "Fast Web View" in English locales of Adobe software.
|
||||
document_properties_linearized=Fast Web View:
|
||||
document_properties_linearized=სწრაფი შეთვალიერება:
|
||||
document_properties_linearized_yes=დიახ
|
||||
document_properties_linearized_no=არა
|
||||
document_properties_close=დახურვა
|
||||
|
@ -154,7 +154,7 @@ findbar_label=ძიება
|
|||
thumb_page_title=გვერდი {{page}}
|
||||
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
|
||||
# number.
|
||||
thumb_page_canvas=გვერდის ესკიზი {{page}}
|
||||
thumb_page_canvas=გვერდის შეთვალიერება {{page}}
|
||||
|
||||
# Find panel button title and messages
|
||||
find_input.title=ძიება
|
||||
|
@ -221,22 +221,26 @@ page_scale_percent={{scale}}%
|
|||
|
||||
# Loading indicator messages
|
||||
loading_error_indicator=შეცდომა
|
||||
loading_error=შეცდომა, PDF ფაილის ჩატვირთვისას.
|
||||
invalid_file_error=არამართებული ან დაზიანებული PDF ფაილი.
|
||||
missing_file_error=ნაკლული PDF ფაილი.
|
||||
loading_error=შეცდომა, PDF-ფაილის ჩატვირთვისას.
|
||||
invalid_file_error=არამართებული ან დაზიანებული PDF-ფაილი.
|
||||
missing_file_error=ნაკლული PDF-ფაილი.
|
||||
unexpected_response_error=სერვერის მოულოდნელი პასუხი.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
text_annotation_type.alt=[{{type}} შენიშვნა]
|
||||
password_label=შეიყვანეთ პაროლი PDF ფაილის გასახსნელად.
|
||||
password_label=შეიყვანეთ პაროლი PDF-ფაილის გასახსნელად.
|
||||
password_invalid=არასწორი პაროლი. გთხოვთ, სცადოთ ხელახლა.
|
||||
password_ok=კარგი
|
||||
password_cancel=გაუქმება
|
||||
|
||||
printing_not_supported=გაფრთხილება: ამობეჭდვა ამ ბრაუზერში არაა სრულად მხარდაჭერილი.
|
||||
printing_not_ready=გაფრთხილება: PDF სრულად ჩატვირთული არაა, ამობეჭდვის დასაწყებად.
|
||||
web_fonts_disabled=ვებშრიფტები გამორთულია: ჩაშენებული PDF შრიფტების გამოყენება ვერ ხერხდება.
|
||||
document_colors_not_allowed=PDF დოკუმენტებს არ აქვს საკუთარი ფერების გამოყენების ნებართვა: ბრაუზერში გამორთულია “გვერდებისთვის საკუთარი ფერების გამოყენების უფლება”.
|
||||
web_fonts_disabled=ვებშრიფტები გამორთულია: ჩაშენებული PDF-შრიფტების გამოყენება ვერ ხერხდება.
|
||||
document_colors_not_allowed=PDF-დოკუმენტებს არ აქვს საკუთარი ფერების გამოყენების ნებართვა: ბრაუზერში გამორთულია “გვერდებისთვის საკუთარი ფერების გამოყენების უფლება”.
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Afaylu PDF arameɣtu neɣ yexṣeṛ.
|
|||
missing_file_error=Ulac afaylu PDF.
|
||||
unexpected_response_error=Aqeddac yerra-d yir tiririt ur nettwaṛǧi ara.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Зақымдалған немесе қате PDF файл.
|
|||
missing_file_error=PDF файлы жоқ.
|
||||
unexpected_response_error=Сервердің күтпеген жауабы.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -26,23 +26,23 @@ of_pages=전체 {{pagesCount}}
|
|||
# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
|
||||
# will be replaced by a number representing the currently visible page,
|
||||
# respectively a number representing the total number of pages in the document.
|
||||
page_of_pages=({{pagesCount}} 중 {{pageNumber}})
|
||||
page_of_pages=({{pageNumber}} / {{pagesCount}})
|
||||
|
||||
zoom_out.title=축소
|
||||
zoom_out_label=축소
|
||||
zoom_in.title=확대
|
||||
zoom_in_label=확대
|
||||
zoom.title=크기
|
||||
presentation_mode.title=발표 모드로 전환
|
||||
presentation_mode_label=발표 모드
|
||||
zoom.title=확대/축소
|
||||
presentation_mode.title=프레젠테이션 모드로 전환
|
||||
presentation_mode_label=프레젠테이션 모드
|
||||
open_file.title=파일 열기
|
||||
open_file_label=열기
|
||||
print.title=인쇄
|
||||
print_label=인쇄
|
||||
download.title=다운로드
|
||||
download_label=다운로드
|
||||
bookmark.title=지금 보이는 그대로 (복사하거나 새 창에 열기)
|
||||
bookmark_label=지금 보이는 그대로
|
||||
bookmark.title=현재 뷰 (복사하거나 새 창에 열기)
|
||||
bookmark_label=현재 뷰
|
||||
|
||||
# Secondary toolbar and context menu
|
||||
tools.title=도구
|
||||
|
@ -83,7 +83,7 @@ spread_even_label=짝수 펼쳐짐
|
|||
document_properties.title=문서 속성…
|
||||
document_properties_label=문서 속성…
|
||||
document_properties_file_name=파일 이름:
|
||||
document_properties_file_size=파일 사이즈:
|
||||
document_properties_file_size=파일 크기:
|
||||
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
|
||||
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
|
||||
document_properties_kb={{size_kb}} KB ({{size_b}}바이트)
|
||||
|
@ -91,18 +91,18 @@ document_properties_kb={{size_kb}} KB ({{size_b}}바이트)
|
|||
# will be replaced by the PDF file size in megabytes, respectively in bytes.
|
||||
document_properties_mb={{size_mb}} MB ({{size_b}}바이트)
|
||||
document_properties_title=제목:
|
||||
document_properties_author=저자:
|
||||
document_properties_author=작성자:
|
||||
document_properties_subject=주제:
|
||||
document_properties_keywords=키워드:
|
||||
document_properties_creation_date=생성일:
|
||||
document_properties_modification_date=수정일:
|
||||
document_properties_creation_date=작성 날짜:
|
||||
document_properties_modification_date=수정 날짜:
|
||||
# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
|
||||
# will be replaced by the creation/modification date, and time, of the PDF file.
|
||||
document_properties_date_string={{date}}, {{time}}
|
||||
document_properties_creator=생성자:
|
||||
document_properties_producer=PDF 생성기:
|
||||
document_properties_creator=작성 프로그램:
|
||||
document_properties_producer=PDF 변환 소프트웨어:
|
||||
document_properties_version=PDF 버전:
|
||||
document_properties_page_count=총 페이지:
|
||||
document_properties_page_count=페이지 수:
|
||||
document_properties_page_size=페이지 크기:
|
||||
document_properties_page_size_unit_inches=in
|
||||
document_properties_page_size_unit_millimeters=mm
|
||||
|
@ -127,7 +127,7 @@ document_properties_linearized_yes=예
|
|||
document_properties_linearized_no=아니오
|
||||
document_properties_close=닫기
|
||||
|
||||
print_progress_message=문서 출력 준비중…
|
||||
print_progress_message=인쇄 문서 준비중…
|
||||
# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
|
||||
# a numerical per cent value.
|
||||
print_progress_percent={{progress}}%
|
||||
|
@ -151,10 +151,10 @@ findbar_label=검색
|
|||
# Thumbnails panel item (tooltip and alt text for images)
|
||||
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
|
||||
# number.
|
||||
thumb_page_title={{page}}쪽
|
||||
thumb_page_title={{page}} 페이지
|
||||
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
|
||||
# number.
|
||||
thumb_page_canvas={{page}}쪽 미리보기
|
||||
thumb_page_canvas={{page}} 페이지 미리보기
|
||||
|
||||
# Find panel button title and messages
|
||||
find_input.title=찾기
|
||||
|
@ -164,7 +164,7 @@ find_previous_label=이전
|
|||
find_next.title=지정 문자열에 일치하는 다음 부분을 검색
|
||||
find_next_label=다음
|
||||
find_highlight=모두 강조 표시
|
||||
find_match_case_label=대문자/소문자 구별
|
||||
find_match_case_label=대/소문자 구분
|
||||
find_entire_word_label=전체 단어
|
||||
find_reached_top=문서 처음까지 검색하고 끝으로 돌아와 검색했습니다.
|
||||
find_reached_bottom=문서 끝까지 검색하고 앞으로 돌아와 검색했습니다.
|
||||
|
@ -208,12 +208,12 @@ error_stack=스택: {{stack}}
|
|||
error_file=파일: {{file}}
|
||||
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
|
||||
error_line=줄 번호: {{line}}
|
||||
rendering_error=페이지를 렌더링하다 오류가 났습니다.
|
||||
rendering_error=페이지를 렌더링하는 중 오류가 발생했습니다.
|
||||
|
||||
# Predefined zoom values
|
||||
page_scale_width=페이지 너비에 맞춤
|
||||
page_scale_fit=페이지에 맞춤
|
||||
page_scale_auto=알아서 맞춤
|
||||
page_scale_auto=자동 맞춤
|
||||
page_scale_actual=실제 크기에 맞춤
|
||||
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
|
||||
# numerical scale value.
|
||||
|
@ -221,22 +221,26 @@ page_scale_percent={{scale}}%
|
|||
|
||||
# Loading indicator messages
|
||||
loading_error_indicator=오류
|
||||
loading_error=PDF를 읽는 중 오류가 생겼습니다.
|
||||
loading_error=PDF를 로드하는 중 오류가 발생했습니다.
|
||||
invalid_file_error=유효하지 않거나 파손된 PDF 파일
|
||||
missing_file_error=PDF 파일이 없습니다.
|
||||
unexpected_response_error=알 수 없는 서버 응답입니다.
|
||||
unexpected_response_error=예상치 못한 서버 응답입니다.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
text_annotation_type.alt=[{{type}} 주석]
|
||||
password_label=이 PDF 파일을 열 수 있는 암호를 입력하십시오.
|
||||
password_invalid=잘못된 암호입니다. 다시 시도해 주십시오.
|
||||
password_label=이 PDF 파일을 열 수 있는 비밀번호를 입력하십시오.
|
||||
password_invalid=잘못된 비밀번호입니다. 다시 시도해 주십시오.
|
||||
password_ok=확인
|
||||
password_cancel=취소
|
||||
|
||||
printing_not_supported=경고: 이 브라우저는 인쇄를 완전히 지원하지 않습니다.
|
||||
printing_not_ready=경고: 이 PDF를 인쇄를 할 수 있을 정도로 읽어들이지 못했습니다.
|
||||
web_fonts_disabled=웹 폰트가 꺼져있음: 내장된 PDF 글꼴을 쓸 수 없습니다.
|
||||
document_colors_not_allowed=PDF 문서의 색상을 쓰지 못하게 되어 있음: '웹 페이지 자체 색상 사용 허용'이 브라우저에서 꺼져 있습니다.
|
||||
web_fonts_disabled=웹 폰트가 비활성화됨: 내장된 PDF 글꼴을 사용할 수 없습니다.
|
||||
document_colors_not_allowed=PDF 문서의 자체 색상 허용 안됨: “페이지 자체 색상 허용”이 브라우저에서 비활성화 되어 있습니다.
|
||||
|
|
|
@ -45,8 +45,8 @@ bookmark.title=Vixon corente (còpia ò arvi inte 'n neuvo barcon)
|
|||
bookmark_label=Vixon corente
|
||||
|
||||
# Secondary toolbar and context menu
|
||||
tools.title=Strumenti
|
||||
tools_label=Strumenti
|
||||
tools.title=Atressi
|
||||
tools_label=Atressi
|
||||
first_page.title=Vanni a-a primma pagina
|
||||
first_page.label=Vanni a-a primma pagina
|
||||
first_page_label=Vanni a-a primma pagina
|
||||
|
@ -82,8 +82,8 @@ spread_even_label=Difuxon pari
|
|||
# Document properties dialog box
|
||||
document_properties.title=Propietæ do documento…
|
||||
document_properties_label=Propietæ do documento…
|
||||
document_properties_file_name=Nomme file:
|
||||
document_properties_file_size=Dimenscion file:
|
||||
document_properties_file_name=Nomme schedaio:
|
||||
document_properties_file_size=Dimenscion schedaio:
|
||||
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
|
||||
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
|
||||
document_properties_kb={{size_kb}} kB ({{size_b}} byte)
|
||||
|
@ -205,7 +205,7 @@ error_message=Mesaggio: {{message}}
|
|||
# trace.
|
||||
error_stack=Stack: {{stack}}
|
||||
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
|
||||
error_file=File: {{file}}
|
||||
error_file=Schedaio: {{file}}
|
||||
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
|
||||
error_line=Linia: {{line}}
|
||||
rendering_error=Gh'é stæto 'n'erô itno rendering da pagina.
|
||||
|
@ -222,8 +222,8 @@ page_scale_percent={{scale}}%
|
|||
# Loading indicator messages
|
||||
loading_error_indicator=Erô
|
||||
loading_error=S'é verificou 'n'erô itno caregamento do PDF.
|
||||
invalid_file_error=O file PDF o l'é no valido ò aroinou.
|
||||
missing_file_error=O file PDF o no gh'é.
|
||||
invalid_file_error=O schedaio PDF o l'é no valido ò aroinou.
|
||||
missing_file_error=O schedaio PDF o no gh'é.
|
||||
unexpected_response_error=Risposta inprevista do-u server
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
|
@ -231,7 +231,7 @@ unexpected_response_error=Risposta inprevista do-u server
|
|||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
text_annotation_type.alt=[Anotaçion: {{type}}]
|
||||
password_label=Dimme a paròlla segreta pe arvî sto file PDF.
|
||||
password_label=Dimme a paròlla segreta pe arvî sto schedaio PDF.
|
||||
password_invalid=Paròlla segreta sbalia. Preuva torna.
|
||||
password_ok=Va ben
|
||||
password_cancel=Anulla
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Tai nėra PDF failas arba jis yra sugadintas.
|
|||
missing_file_error=PDF failas nerastas.
|
||||
unexpected_response_error=Netikėtas serverio atsakas.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -65,6 +65,10 @@ cursor_text_select_tool_label=मजकूर निवड साधन
|
|||
cursor_hand_tool.title=हात साधन कार्यान्वित करा
|
||||
cursor_hand_tool_label=हस्त साधन
|
||||
|
||||
scroll_vertical.title=अनुलंब स्क्रोलिंग वापरा
|
||||
scroll_vertical_label=अनुलंब स्क्रोलिंग
|
||||
scroll_horizontal.title=क्षैतिज स्क्रोलिंग वापरा
|
||||
scroll_horizontal_label=क्षैतिज स्क्रोलिंग
|
||||
|
||||
|
||||
# Document properties dialog box
|
||||
|
@ -95,6 +99,7 @@ document_properties_page_size=पृष्ठ आकार:
|
|||
document_properties_page_size_unit_inches=इंच
|
||||
document_properties_page_size_unit_millimeters=मीमी
|
||||
document_properties_page_size_orientation_portrait=उभी मांडणी
|
||||
document_properties_page_size_orientation_landscape=आडवे
|
||||
document_properties_page_size_name_a3=A3
|
||||
document_properties_page_size_name_a4=A4
|
||||
document_properties_page_size_name_letter=Letter
|
||||
|
@ -109,6 +114,7 @@ document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}
|
|||
document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
|
||||
# the document; usually called "Fast Web View" in English locales of Adobe software.
|
||||
document_properties_linearized=जलद वेब दृष्य:
|
||||
document_properties_linearized_yes=हो
|
||||
document_properties_linearized_no=नाही
|
||||
document_properties_close=बंद करा
|
||||
|
@ -151,8 +157,23 @@ find_next.title=वाकप्रयोगची पुढील घटना
|
|||
find_next_label=पुढील
|
||||
find_highlight=सर्व ठळक करा
|
||||
find_match_case_label=आकार जुळवा
|
||||
find_entire_word_label=संपूर्ण शब्द
|
||||
find_reached_top=दस्तऐवजाच्या शीर्षकास पोहचले, तळपासून पुढे
|
||||
find_reached_bottom=दस्तऐवजाच्या तळाला पोहचले, शीर्षकापासून पुढे
|
||||
# LOCALIZATION NOTE (find_match_count): The supported plural forms are
|
||||
# [one|two|few|many|other], with [other] as the default value.
|
||||
# "{{current}}" and "{{total}}" will be replaced by a number representing the
|
||||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit[zero]={{limit}} पेक्षा अधिक जुळण्या
|
||||
find_match_count_limit[two]={{limit}} पेक्षा अधिक जुळण्या
|
||||
find_match_count_limit[few]={{limit}} पेक्षा अधिक जुळण्या
|
||||
find_match_count_limit[many]={{limit}} पेक्षा अधिक जुळण्या
|
||||
find_match_count_limit[other]={{limit}} पेक्षा अधिक जुळण्या
|
||||
find_not_found=वाकप्रयोग आढळले नाही
|
||||
|
||||
# Error panel labels
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ugyldig eller skadet PDF-fil.
|
|||
missing_file_error=Manglende PDF-fil.
|
||||
unexpected_response_error=Uventet serverrespons.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ongeldig of beschadigd PDF-bestand.
|
|||
missing_file_error=PDF-bestand ontbreekt.
|
||||
unexpected_response_error=Onverwacht serverantwoord.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ugyldig eller korrupt PDF-fil.
|
|||
missing_file_error=Manglande PDF-fil.
|
||||
unexpected_response_error=Uventa tenarrespons.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -168,10 +168,21 @@ find_reached_bottom=ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਤ ਉੱਤੇ ਆ ਗ
|
|||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
find_match_count[one]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
|
||||
find_match_count[two]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
|
||||
find_match_count[few]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
|
||||
find_match_count[many]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
|
||||
find_match_count[other]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit={[ plural(limit) ]}
|
||||
find_match_count_limit[zero]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
|
||||
find_match_count_limit[one]={{limit}} ਮੇਲ ਤੋਂ ਵੱਧ
|
||||
find_match_count_limit[two]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
|
||||
find_match_count_limit[few]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
|
||||
find_match_count_limit[many]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
|
||||
find_match_count_limit[other]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
|
||||
find_not_found=ਵਾਕ ਨਹੀਂ ਲੱਭਿਆ
|
||||
|
||||
# Error panel labels
|
||||
|
|
|
@ -12,13 +12,20 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Main toolbar buttons (tooltips and alt text for images)
|
||||
previous.title=Poprzednia strona
|
||||
previous_label=Poprzednia
|
||||
next.title=Następna strona
|
||||
next_label=Następna
|
||||
|
||||
page.title==Strona:
|
||||
# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
|
||||
page.title=Strona
|
||||
# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
|
||||
# representing the total number of pages in the document.
|
||||
of_pages=z {{pagesCount}}
|
||||
# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
|
||||
# will be replaced by a number representing the currently visible page,
|
||||
# respectively a number representing the total number of pages in the document.
|
||||
page_of_pages=({{pageNumber}} z {{pagesCount}})
|
||||
|
||||
zoom_out.title=Pomniejszenie
|
||||
|
@ -37,6 +44,7 @@ download_label=Pobierz
|
|||
bookmark.title=Bieżąca pozycja (skopiuj lub otwórz jako odnośnik w nowym oknie)
|
||||
bookmark_label=Bieżąca pozycja
|
||||
|
||||
# Secondary toolbar and context menu
|
||||
tools.title=Narzędzia
|
||||
tools_label=Narzędzia
|
||||
first_page.title=Przechodzenie do pierwszej strony
|
||||
|
@ -59,30 +67,37 @@ cursor_hand_tool_label=Narzędzie rączka
|
|||
|
||||
scroll_vertical.title=Przewijaj dokument w pionie
|
||||
scroll_vertical_label=Przewijanie pionowe
|
||||
scroll_horizontal_label=Przewijanie poziome
|
||||
scroll_horizontal.title=Przewijaj dokument w poziomie
|
||||
scroll_wrapped_label=Widok dwóch stron
|
||||
scroll_horizontal_label=Przewijanie poziome
|
||||
scroll_wrapped.title=Strony dokumentu wyświetlaj i przewijaj w kolumnach
|
||||
scroll_wrapped_label=Widok dwóch stron
|
||||
|
||||
spread_none_label=Brak kolumn
|
||||
spread_none.title=Nie ustawiaj stron obok siebie
|
||||
spread_odd_label=Nieparzyste po lewej
|
||||
spread_none_label=Brak kolumn
|
||||
spread_odd.title=Strony nieparzyste ustawiaj na lewo od parzystych
|
||||
spread_even_label=Parzyste po lewej
|
||||
spread_odd_label=Nieparzyste po lewej
|
||||
spread_even.title=Strony parzyste ustawiaj na lewo od nieparzystych
|
||||
spread_even_label=Parzyste po lewej
|
||||
|
||||
# Document properties dialog box
|
||||
document_properties.title=Właściwości dokumentu…
|
||||
document_properties_label=Właściwości dokumentu…
|
||||
document_properties_file_name=Nazwa pliku:
|
||||
document_properties_file_size=Rozmiar pliku:
|
||||
document_properties_kb={{size_kb}} KB ({{size_b}} b)
|
||||
document_properties_mb={{size_mb}} MB ({{size_b}} b)
|
||||
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
|
||||
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
|
||||
document_properties_kb={{size_kb}} KB ({{size_b}} B)
|
||||
# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
|
||||
# will be replaced by the PDF file size in megabytes, respectively in bytes.
|
||||
document_properties_mb={{size_mb}} MB ({{size_b}} B)
|
||||
document_properties_title=Tytuł:
|
||||
document_properties_author=Autor:
|
||||
document_properties_subject=Temat:
|
||||
document_properties_keywords=Słowa kluczowe:
|
||||
document_properties_creation_date=Data utworzenia:
|
||||
document_properties_modification_date=Data modyfikacji:
|
||||
# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
|
||||
# will be replaced by the creation/modification date, and time, of the PDF file.
|
||||
document_properties_date_string={{date}}, {{time}}
|
||||
document_properties_creator=Utworzony przez:
|
||||
document_properties_producer=PDF wyprodukowany przez:
|
||||
|
@ -97,17 +112,30 @@ document_properties_page_size_name_a3=A3
|
|||
document_properties_page_size_name_a4=A4
|
||||
document_properties_page_size_name_letter=US Letter
|
||||
document_properties_page_size_name_legal=US Legal
|
||||
document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} (orientacja {{orientation}})
|
||||
document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, orientacja {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
|
||||
# the size, respectively their unit of measurement and orientation, of the (current) page.
|
||||
document_properties_page_size_dimension_string={{width}}×{{height}} {{unit}} (orientacja {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
|
||||
# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
|
||||
document_properties_page_size_dimension_name_string={{width}}×{{height}} {{unit}} ({{name}}, orientacja {{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
|
||||
# the document; usually called "Fast Web View" in English locales of Adobe software.
|
||||
document_properties_linearized=Szybki podgląd w Internecie:
|
||||
document_properties_linearized_yes=tak
|
||||
document_properties_linearized_no=nie
|
||||
document_properties_close=Zamknij
|
||||
|
||||
print_progress_message=Przygotowywanie dokumentu do druku…
|
||||
# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
|
||||
# a numerical per cent value.
|
||||
print_progress_percent={{progress}}%
|
||||
print_progress_close=Anuluj
|
||||
|
||||
# Tooltips and alt text for side panel toolbar buttons
|
||||
# (the _label strings are alt text for the buttons, the .title strings are
|
||||
# tooltips)
|
||||
toggle_sidebar.title=Przełączanie panelu bocznego
|
||||
toggle_sidebar_notification.title=Przełączanie panelu bocznego (dokument zawiera konspekt/załączniki)
|
||||
toggle_sidebar_label=Przełącz panel boczny
|
||||
|
@ -120,26 +148,40 @@ thumbs_label=Miniaturki
|
|||
findbar.title=Znajdź w dokumencie
|
||||
findbar_label=Znajdź
|
||||
|
||||
# Thumbnails panel item (tooltip and alt text for images)
|
||||
# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
|
||||
# number.
|
||||
thumb_page_title=Strona {{page}}
|
||||
# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
|
||||
# number.
|
||||
thumb_page_canvas=Miniaturka strony {{page}}
|
||||
|
||||
# Find panel button title and messages
|
||||
find_input.title=Wyszukiwanie
|
||||
find_input.placeholder=Szukaj w dokumencie…
|
||||
find_input.placeholder=Znajdź w dokumencie…
|
||||
find_previous.title=Znajdź poprzednie wystąpienie tekstu
|
||||
find_previous_label=Poprzednie
|
||||
find_next.title=Znajdź następne wystąpienie tekstu
|
||||
find_next_label=Następne
|
||||
find_highlight=Podświetl wszystkie
|
||||
find_highlight=Wyróżnianie wszystkich
|
||||
find_match_case_label=Rozróżnianie wielkości liter
|
||||
find_entire_word_label=Całe słowa
|
||||
find_reached_top=Początek dokumentu. Wyszukiwanie od końca.
|
||||
find_reached_bottom=Koniec dokumentu. Wyszukiwanie od początku.
|
||||
# LOCALIZATION NOTE (find_match_count): The supported plural forms are
|
||||
# [one|two|few|many|other], with [other] as the default value.
|
||||
# "{{current}}" and "{{total}}" will be replaced by a number representing the
|
||||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
find_match_count={[ plural(total) ]}
|
||||
find_match_count[one]=Pierwsze z {{total}} trafień
|
||||
find_match_count[two]=Drugie z {{total}} trafień
|
||||
find_match_count[few]={{current}}. z {{total}} trafień
|
||||
find_match_count[many]={{current}}. z {{total}} trafień
|
||||
find_match_count[other]={{current}}. z {{total}} trafień
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit={[ plural(limit) ]}
|
||||
find_match_count_limit[zero]=Brak trafień.
|
||||
find_match_count_limit[one]=Więcej niż jedno trafienie.
|
||||
|
@ -149,28 +191,49 @@ find_match_count_limit[many]=Więcej niż {{limit}} trafień.
|
|||
find_match_count_limit[other]=Więcej niż {{limit}} trafień.
|
||||
find_not_found=Nie znaleziono tekstu
|
||||
|
||||
# Error panel labels
|
||||
error_more_info=Więcej informacji
|
||||
error_less_info=Mniej informacji
|
||||
error_close=Zamknij
|
||||
# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
|
||||
# replaced by the PDF.JS version and build ID.
|
||||
error_version_info=PDF.js v{{version}} (kompilacja: {{build}})
|
||||
# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
|
||||
# english string describing the error.
|
||||
error_message=Wiadomość: {{message}}
|
||||
# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
|
||||
# trace.
|
||||
error_stack=Stos: {{stack}}
|
||||
# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
|
||||
error_file=Plik: {{file}}
|
||||
# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
|
||||
error_line=Wiersz: {{line}}
|
||||
rendering_error=Podczas renderowania strony wystąpił błąd.
|
||||
|
||||
# Predefined zoom values
|
||||
page_scale_width=Szerokość strony
|
||||
page_scale_fit=Dopasowanie strony
|
||||
page_scale_auto=Skala automatyczna
|
||||
page_scale_actual=Rozmiar rzeczywisty
|
||||
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
|
||||
# numerical scale value.
|
||||
page_scale_percent={{scale}}%
|
||||
|
||||
# Loading indicator messages
|
||||
loading_error_indicator=Błąd
|
||||
loading_error=Podczas wczytywania dokumentu PDF wystąpił błąd.
|
||||
invalid_file_error=Nieprawidłowy lub uszkodzony plik PDF.
|
||||
missing_file_error=Brak pliku PDF.
|
||||
unexpected_response_error=Nieoczekiwana odpowiedź serwera.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
# Some common types are e.g.: "Check", "Text", "Comment", "Note"
|
||||
text_annotation_type.alt=[Adnotacja: {{type}}]
|
||||
password_label=Wprowadź hasło, aby otworzyć ten dokument PDF.
|
||||
password_invalid=Nieprawidłowe hasło. Proszę spróbować ponownie.
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Arquivo PDF corrompido ou inválido.
|
|||
missing_file_error=Arquivo PDF ausente.
|
||||
unexpected_response_error=Resposta inesperada do servidor.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
@ -238,5 +242,5 @@ password_cancel=Cancelar
|
|||
|
||||
printing_not_supported=Aviso: a impressão não é totalmente suportada neste navegador.
|
||||
printing_not_ready=Aviso: o PDF não está totalmente carregado para impressão.
|
||||
web_fonts_disabled=As fontes web estão desabilitadas: não foi possível usar fontes incorporadas do PDF.
|
||||
document_colors_not_allowed=Os documentos em PDF não estão autorizados a usar suas próprias cores: “Permitir que as páginas escolham suas próprias cores” está desabilitado no navegador.
|
||||
web_fonts_disabled=As fontes web estão desativadas: não foi possível usar fontes incorporadas do PDF.
|
||||
document_colors_not_allowed=Documentos PDF não estão autorizados a usar as próprias cores: a opção “Permitir que as páginas escolham suas próprias cores” está desativada no navegador.
|
||||
|
|
|
@ -140,7 +140,7 @@ toggle_sidebar.title=Alternar barra lateral
|
|||
toggle_sidebar_notification.title=Alternar barra lateral (documento contém contorno/anexos)
|
||||
toggle_sidebar_label=Alternar barra lateral
|
||||
document_outline.title=Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens)
|
||||
document_outline_label=Estrutura do documento
|
||||
document_outline_label=Esquema do documento
|
||||
attachments.title=Mostrar anexos
|
||||
attachments_label=Anexos
|
||||
thumbs.title=Mostrar miniaturas
|
||||
|
@ -226,6 +226,10 @@ invalid_file_error=Ficheiro PDF inválido ou danificado.
|
|||
missing_file_error=Ficheiro PDF inexistente.
|
||||
unexpected_response_error=Resposta inesperada do servidor.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -83,7 +83,7 @@ spread_even_label=Broșare pagini pare
|
|||
document_properties.title=Proprietățile documentului…
|
||||
document_properties_label=Proprietățile documentului…
|
||||
document_properties_file_name=Numele fișierului:
|
||||
document_properties_file_size=Dimensiunea fișierului:
|
||||
document_properties_file_size=Mărimea fișierului:
|
||||
# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
|
||||
# will be replaced by the PDF file size in kilobytes, respectively in bytes.
|
||||
document_properties_kb={{size_kb}} KB ({{size_b}} byți)
|
||||
|
@ -103,7 +103,7 @@ document_properties_creator=Autor:
|
|||
document_properties_producer=Producător PDF:
|
||||
document_properties_version=Versiune PDF:
|
||||
document_properties_page_count=Număr de pagini:
|
||||
document_properties_page_size=Dimensiunea paginii:
|
||||
document_properties_page_size=Mărimea paginii:
|
||||
document_properties_page_size_unit_inches=in
|
||||
document_properties_page_size_unit_millimeters=mm
|
||||
document_properties_page_size_orientation_portrait=portret
|
||||
|
@ -214,7 +214,7 @@ rendering_error=A intervenit o eroare la randarea paginii.
|
|||
page_scale_width=Lățimea paginii
|
||||
page_scale_fit=Potrivire la pagină
|
||||
page_scale_auto=Zoom automat
|
||||
page_scale_actual=Dimensiune reală
|
||||
page_scale_actual=Mărime reală
|
||||
# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
|
||||
# numerical scale value.
|
||||
page_scale_percent={{scale}}%
|
||||
|
@ -226,6 +226,10 @@ invalid_file_error=Fișier PDF nevalid sau corupt.
|
|||
missing_file_error=Fișier PDF lipsă.
|
||||
unexpected_response_error=Răspuns neașteptat de la server.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Некорректный или повреждённый PDF-
|
|||
missing_file_error=PDF-файл отсутствует.
|
||||
unexpected_response_error=Неожиданный ответ сервера.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -58,6 +58,9 @@ page_rotate_ccw.title=වාමාවර්තව භ්රමණය
|
|||
page_rotate_ccw.label=වාමාවර්තව භ්රමණය
|
||||
page_rotate_ccw_label=වාමාවර්තව භ්රමණය
|
||||
|
||||
cursor_hand_tool_label=අත් මෙවලම
|
||||
|
||||
|
||||
|
||||
# Document properties dialog box
|
||||
document_properties.title=ලේඛන වත්කම්...
|
||||
|
@ -83,11 +86,32 @@ document_properties_creator=නිර්මාපක:
|
|||
document_properties_producer=PDF නිශ්පාදක:
|
||||
document_properties_version=PDF නිකුතුව:
|
||||
document_properties_page_count=පිටු ගණන:
|
||||
document_properties_page_size=පිටුවේ විශාලත්වය:
|
||||
document_properties_page_size_unit_inches=අඟල්
|
||||
document_properties_page_size_unit_millimeters=මිමි
|
||||
document_properties_page_size_orientation_portrait=සිරස්
|
||||
document_properties_page_size_orientation_landscape=තිරස්
|
||||
document_properties_page_size_name_a3=A3
|
||||
document_properties_page_size_name_a4=A4
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
|
||||
# the size, respectively their unit of measurement and orientation, of the (current) page.
|
||||
document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
|
||||
# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
|
||||
document_properties_page_size_dimension_name_string={{width}}×{{height}}{{unit}}{{name}}{{orientation}}
|
||||
# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
|
||||
# the document; usually called "Fast Web View" in English locales of Adobe software.
|
||||
document_properties_linearized=වේගවත් ජාල දසුන:
|
||||
document_properties_linearized_yes=ඔව්
|
||||
document_properties_linearized_no=නැහැ
|
||||
document_properties_close=වසන්න
|
||||
|
||||
print_progress_message=ලේඛනය මුද්රණය සඳහා සූදානම් කරමින්…
|
||||
# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
|
||||
# a numerical per cent value.
|
||||
print_progress_percent={{progress}}%
|
||||
print_progress_close=අවලංගු කරන්න
|
||||
|
||||
# Tooltips and alt text for side panel toolbar buttons
|
||||
|
@ -95,6 +119,7 @@ print_progress_close=අවලංගු කරන්න
|
|||
# tooltips)
|
||||
toggle_sidebar.title=පැති තීරුවට මාරුවන්න
|
||||
toggle_sidebar_label=පැති තීරුවට මාරුවන්න
|
||||
document_outline_label=ලේඛනයේ පිට මායිම
|
||||
attachments.title=ඇමිණුම් පෙන්වන්න
|
||||
attachments_label=ඇමිණුම්
|
||||
thumbs.title=සිඟිති රූ පෙන්වන්න
|
||||
|
@ -111,14 +136,25 @@ thumb_page_title=පිටුව {{page}}
|
|||
thumb_page_canvas=පිටුවෙ සිඟිත රූව {{page}}
|
||||
|
||||
# Find panel button title and messages
|
||||
find_input.title=සොයන්න
|
||||
find_previous.title=මේ වාක්ය ඛණ්ඩය මීට පෙර යෙදුණු ස්ථානය සොයන්න
|
||||
find_previous_label=පෙර:
|
||||
find_next.title=මේ වාක්ය ඛණ්ඩය මීළඟට යෙදෙන ස්ථානය සොයන්න
|
||||
find_next_label=මීළඟ
|
||||
find_highlight=සියල්ල උද්දීපනය
|
||||
find_match_case_label=අකුරු ගළපන්න
|
||||
find_entire_word_label=සම්පූර්ණ වචන
|
||||
find_reached_top=පිටුවේ ඉහළ කෙළවරට ලගාවිය, පහළ සිට ඉදිරියට යමින්
|
||||
find_reached_bottom=පිටුවේ පහළ කෙළවරට ලගාවිය, ඉහළ සිට ඉදිරියට යමින්
|
||||
# LOCALIZATION NOTE (find_match_count): The supported plural forms are
|
||||
# [one|two|few|many|other], with [other] as the default value.
|
||||
# "{{current}}" and "{{total}}" will be replaced by a number representing the
|
||||
# index of the currently active find result, respectively a number representing
|
||||
# the total number of matches in the document.
|
||||
# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
|
||||
# [zero|one|two|few|many|other], with [other] as the default value.
|
||||
# "{{limit}}" will be replaced by a numerical value.
|
||||
find_match_count_limit[zero]=ගැලපුම් {{limit}} ට වඩා
|
||||
find_not_found=ඔබ සෙව් වචන හමු නොවීය
|
||||
|
||||
# Error panel labels
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Neplatný alebo poškodený súbor PDF.
|
|||
missing_file_error=Chýbajúci súbor PDF.
|
||||
unexpected_response_error=Neočakávaná odpoveď zo servera.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -53,12 +53,12 @@ first_page_label=Pojdi na prvo stran
|
|||
last_page.title=Pojdi na zadnjo stran
|
||||
last_page.label=Pojdi na zadnjo stran
|
||||
last_page_label=Pojdi na zadnjo stran
|
||||
page_rotate_cw.title=Zavrti v smeri urninega kazalca
|
||||
page_rotate_cw.label=Zavrti v smeri urninega kazalca
|
||||
page_rotate_cw_label=Zavrti v smeri urninega kazalca
|
||||
page_rotate_ccw.title=Zavrti v nasprotni smeri urninega kazalca
|
||||
page_rotate_ccw.label=Zavrti v nasprotni smeri urninega kazalca
|
||||
page_rotate_ccw_label=Zavrti v nasprotni smeri urninega kazalca
|
||||
page_rotate_cw.title=Zavrti v smeri urnega kazalca
|
||||
page_rotate_cw.label=Zavrti v smeri urnega kazalca
|
||||
page_rotate_cw_label=Zavrti v smeri urnega kazalca
|
||||
page_rotate_ccw.title=Zavrti v nasprotni smeri urnega kazalca
|
||||
page_rotate_ccw.label=Zavrti v nasprotni smeri urnega kazalca
|
||||
page_rotate_ccw_label=Zavrti v nasprotni smeri urnega kazalca
|
||||
|
||||
cursor_text_select_tool.title=Omogoči orodje za izbor besedila
|
||||
cursor_text_select_tool_label=Orodje za izbor besedila
|
||||
|
@ -226,6 +226,10 @@ invalid_file_error=Neveljavna ali pokvarjena datoteka PDF.
|
|||
missing_file_error=Ni datoteke PDF.
|
||||
unexpected_response_error=Nepričakovan odgovor strežnika.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -219,6 +219,10 @@ invalid_file_error=Kartelë PDF e pavlefshme ose e dëmtuar.
|
|||
missing_file_error=Kartelë PDF që mungon.
|
||||
unexpected_response_error=Përgjigje shërbyesi e papritur.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Ogiltig eller korrupt PDF-fil.
|
|||
missing_file_error=Saknad PDF-fil.
|
||||
unexpected_response_error=Oväntat svar från servern.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -202,6 +202,10 @@ invalid_file_error=చెల్లని లేదా పాడైన PDF ఫై
|
|||
missing_file_error=దొరకని PDF ఫైలు.
|
||||
unexpected_response_error=అనుకోని సర్వర్ స్పందన.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=ไฟล์ PDF ไม่ถูกต้องหรือ
|
|||
missing_file_error=ไฟล์ PDF หายไป
|
||||
unexpected_response_error=การตอบสนองของเซิร์ฟเวอร์ที่ไม่คาดคิด
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -137,10 +137,10 @@ print_progress_close=İptal
|
|||
# (the _label strings are alt text for the buttons, the .title strings are
|
||||
# tooltips)
|
||||
toggle_sidebar.title=Kenar çubuğunu aç/kapat
|
||||
toggle_sidebar_notification.title=Kenar çubuğunu aç/kapat (Belge anahat/ekler içeriyor)
|
||||
toggle_sidebar_notification.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler içeriyor)
|
||||
toggle_sidebar_label=Kenar çubuğunu aç/kapat
|
||||
document_outline.title=Belge şemasını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın)
|
||||
document_outline_label=Belge şeması
|
||||
document_outline.title=Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın)
|
||||
document_outline_label=Belge ana hatları
|
||||
attachments.title=Ekleri göster
|
||||
attachments_label=Ekler
|
||||
thumbs.title=Küçük resimleri göster
|
||||
|
@ -226,6 +226,10 @@ invalid_file_error=Geçersiz veya bozulmuş PDF dosyası.
|
|||
missing_file_error=PDF dosyası eksik.
|
||||
unexpected_response_error=Beklenmeyen sunucu yanıtı.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=Недійсний або пошкоджений PDF-файл
|
|||
missing_file_error=Відсутній PDF-файл.
|
||||
unexpected_response_error=Неочікувана відповідь сервера.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -93,6 +93,7 @@ document_properties_page_size_unit_millimeters=mm
|
|||
document_properties_page_size_orientation_portrait=عمودی انداز
|
||||
document_properties_page_size_name_a3=A3
|
||||
document_properties_page_size_name_a4=A4
|
||||
document_properties_page_size_name_letter=خط
|
||||
document_properties_page_size_name_legal=قانونی
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
|
||||
|
@ -191,6 +192,9 @@ invalid_file_error=ناجائز یا خراب PDF مسل
|
|||
missing_file_error=PDF مسل غائب ہے۔
|
||||
unexpected_response_error=غیرمتوقع پیش کار جواب
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
# limitations under the License.
|
||||
|
||||
# Main toolbar buttons (tooltips and alt text for images)
|
||||
previous.title=Trang Trước
|
||||
previous.title=Trang trước
|
||||
previous_label=Trước
|
||||
next.title=Trang Sau
|
||||
next_label=Tiếp
|
||||
|
@ -69,7 +69,15 @@ scroll_vertical.title=Sử dụng cuộn dọc
|
|||
scroll_vertical_label=Cuộn dọc
|
||||
scroll_horizontal.title=Sử dụng cuộn ngang
|
||||
scroll_horizontal_label=Cuộn ngang
|
||||
scroll_wrapped.title=Sử dụng cuộn ngắt dòng
|
||||
scroll_wrapped_label=Cuộn ngắt dòng
|
||||
|
||||
spread_none.title=Không nối rộng trang
|
||||
spread_none_label=Không có phân cách
|
||||
spread_odd.title=Nối trang bài bắt đầu với các trang được đánh số lẻ
|
||||
spread_odd_label=Phân cách theo số lẻ
|
||||
spread_even.title=Nối trang bài bắt đầu với các trang được đánh số chẵn
|
||||
spread_even_label=Phân cách theo số chẵn
|
||||
|
||||
# Document properties dialog box
|
||||
document_properties.title=Thuộc tính của tài liệu…
|
||||
|
@ -102,6 +110,7 @@ document_properties_page_size_orientation_portrait=khổ dọc
|
|||
document_properties_page_size_orientation_landscape=khổ ngang
|
||||
document_properties_page_size_name_a3=A3
|
||||
document_properties_page_size_name_a4=A4
|
||||
document_properties_page_size_name_letter=Thư
|
||||
document_properties_page_size_name_legal=Pháp lý
|
||||
# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
|
||||
# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
|
||||
|
@ -217,6 +226,10 @@ invalid_file_error=Tập tin PDF hỏng hoặc không hợp lệ.
|
|||
missing_file_error=Thiếu tập tin PDF.
|
||||
unexpected_response_error=Máy chủ có phản hồi lạ.
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}}, {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=无效或损坏的 PDF 文件。
|
|||
missing_file_error=缺少 PDF 文件。
|
||||
unexpected_response_error=意外的服务器响应。
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}},{{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
@ -237,6 +241,6 @@ password_ok=确定
|
|||
password_cancel=取消
|
||||
|
||||
printing_not_supported=警告:此浏览器尚未完整支持打印功能。
|
||||
printing_not_ready=警告:该 PDF 未完全载入以供打印。
|
||||
printing_not_ready=警告:此 PDF 未完成载入,无法打印。
|
||||
web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的 PDF 字体。
|
||||
document_colors_not_allowed=PDF 文档无法使用自己的颜色:浏览器中“允许页面选择自己的颜色”的选项未被勾选。
|
||||
|
|
|
@ -226,6 +226,10 @@ invalid_file_error=無效或毀損的 PDF 檔案。
|
|||
missing_file_error=找不到 PDF 檔案。
|
||||
unexpected_response_error=伺服器回應未預期的內容。
|
||||
|
||||
# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
|
||||
# replaced by the modification date, and time, of the annotation.
|
||||
annotation_date_string={{date}} {{time}}
|
||||
|
||||
# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
|
||||
# "{{type}}" will be replaced with an annotation type from a list defined in
|
||||
# the PDF spec (32000-1:2008 Table 169 – Annotation types).
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
{{_('api_endpoint=')}}{{kobo_auth_url}}</a>
|
||||
</p>
|
||||
<p>
|
||||
{{_('Please note that every visit to this current page invalidates any previously generated Authentication url for this user.')}}</a>.
|
||||
{{_('Please note that every visit to this current page invalidates any previously generated Authentication url for this user.')}}</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<label for="query" class="sr-only">{{_('Search')}}</label>
|
||||
<input type="text" class="form-control" id="query" name="query" placeholder="{{_('Search')}}">
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-default">{{_('Go!')}}</button>
|
||||
<button type="submit" id="query_submit" class="btn btn-default">{{_('Go!')}}</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -52,7 +52,7 @@
|
|||
<div class="navbar-collapse collapse">
|
||||
{% if g.user.is_authenticated or g.allow_anonymous %}
|
||||
<ul class="nav navbar-nav ">
|
||||
<li><a href="{{url_for('web.advanced_search')}}"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm">{{_('Advanced Search')}}</span></a></li>
|
||||
<li><a href="{{url_for('web.advanced_search')}}" id="advanced_search"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm">{{_('Advanced Search')}}</span></a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
<ul class="nav navbar-nav navbar-right" id="main-nav">
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title hidden" id="h1">{{_('Select allowed/restricted Tags')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h2">{{_('Select allowed/restricted Custom Column values')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h3">{{_('Select allowed/restricted Tags of user')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h4">{{_('Select allowed/restricted Custom Column values of user')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h1">{{_('Select allowed/denied Tags')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h2">{{_('Select allowed/denied Custom Column values')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h3">{{_('Select allowed/denied Tags of user')}}</h4>
|
||||
<h4 class="modal-title hidden" id="h4">{{_('Select allowed/denied Custom Column values of user')}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-no-bordered" id="restrict-elements-table" data-id-field="id" data-show-header="false" data-editable-mode="inline">
|
||||
|
@ -21,7 +21,7 @@
|
|||
</table>
|
||||
<form id="add_restriction" action="" method="POST">
|
||||
<div class="form-group required">
|
||||
<label for="add_element">{{_('Add Tag')}}</label>
|
||||
<label for="add_element">{{_('Add View Restriction')}}</label>
|
||||
<input type="text" class="form-control" name="add_element" id="add_element" >
|
||||
</div>
|
||||
<div class="form-group required">
|
||||
|
@ -31,7 +31,7 @@
|
|||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Close')}}</button>
|
||||
<button type="button" id="restrict_close" class="btn btn-default" data-dismiss="modal">{{_('Close')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -31,20 +31,21 @@ See https://github.com/adobe-type-tools/cmap-resources
|
|||
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/libs/viewer.css') }}">
|
||||
|
||||
<script src="{{ url_for('static', filename='js/libs/compatibility.js') }}"></script>
|
||||
<!--script src="{{ url_for('static', filename='js/libs/compatibility.js') }}"></script-->
|
||||
|
||||
<!-- This snippet is used in production (included from viewer.html) -->
|
||||
<script src="{{ url_for('static', filename='js/libs/pdf.js') }}"></script>
|
||||
<!-- This snippet is used in production (included from viewer.html) -->
|
||||
<link rel="resource" type="application/l10n" href="{{ url_for('static', filename='locale/locale.properties') }}">
|
||||
<script src="{{ url_for('static', filename='js/libs/pdf.js') }}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.addEventListener('load', function() {
|
||||
PDFViewerApplicationOptions.set('sidebarViewOnLoad', 0);
|
||||
PDFViewerApplicationOptions.set('imageResourcesPath', "{{ url_for('static', filename='css/images/') }}");
|
||||
PDFViewerApplicationOptions.set('workerSrc', "{{ url_for('static', filename='js/libs/pdf.worker.js') }}");
|
||||
PDFViewerApplication.open("{{ url_for('web.serve_book', book_id=pdffile, book_format='pdf') }}");
|
||||
PDFViewerApplicationOptions.set('defaultUrl',"{{ url_for('web.serve_book', book_id=pdffile, book_format='pdf') }}")
|
||||
});
|
||||
</script>
|
||||
<link rel="resource" type="application/l10n" href="{{ url_for('static', filename='locale/locale.properties') }}">
|
||||
|
||||
<script src="{{ url_for('static', filename='js/libs/viewer.js') }}"></script>
|
||||
|
||||
</head>
|
||||
|
@ -52,7 +53,7 @@ See https://github.com/adobe-type-tools/cmap-resources
|
|||
<body tabindex="1" class="loadingInProgress">
|
||||
<div id="outerContainer">
|
||||
|
||||
<div id="sidebarContainer" class="">
|
||||
<div id="sidebarContainer">
|
||||
<div id="toolbarSidebar">
|
||||
<div class="splitToolbarButton toggled">
|
||||
<button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs">
|
||||
|
@ -118,13 +119,14 @@ See https://github.com/adobe-type-tools/cmap-resources
|
|||
<button id="secondaryOpenFile" class="secondaryToolbarButton openFile visibleLargeView" title="Open File" tabindex="52" data-l10n-id="open_file">
|
||||
<span data-l10n-id="open_file_label">Open</span>
|
||||
</button>
|
||||
|
||||
{% if g.user.role_download() %}
|
||||
<button id="secondaryPrint" class="secondaryToolbarButton print visibleMediumView" title="Print" tabindex="53" data-l10n-id="print">
|
||||
<span data-l10n-id="print_label">Print</span>
|
||||
</button>
|
||||
<button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download" {% if not g.user.role_download() %} style="display:none;" {% endif %}>
|
||||
<button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download">
|
||||
<span data-l10n-id="download_label">Download</span>
|
||||
</button>
|
||||
{% endif %}
|
||||
<a href="#" id="secondaryViewBookmark" class="secondaryToolbarButton bookmark visibleSmallView" title="Current view (copy or open in new window)" tabindex="55" data-l10n-id="bookmark">
|
||||
<span data-l10n-id="bookmark_label">Current View</span>
|
||||
</a>
|
||||
|
@ -219,15 +221,14 @@ See https://github.com/adobe-type-tools/cmap-resources
|
|||
<button id="openFile" class="toolbarButton openFile hiddenLargeView" title="Open File" tabindex="32" data-l10n-id="open_file">
|
||||
<span data-l10n-id="open_file_label">Open</span>
|
||||
</button>
|
||||
|
||||
{% if g.user.role_download() %}
|
||||
<button id="print" class="toolbarButton print hiddenMediumView" title="Print" tabindex="33" data-l10n-id="print">
|
||||
<span data-l10n-id="print_label">Print</span>
|
||||
</button>
|
||||
|
||||
<button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download" {% if not g.user.role_download() %} style="display:none;" {% endif %}>
|
||||
<button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download">
|
||||
<span data-l10n-id="download_label">Download</span>
|
||||
</button>
|
||||
|
||||
{% endif %}
|
||||
<a href="#" id="viewBookmark" class="toolbarButton bookmark hiddenSmallView" title="Current view (copy or open in new window)" tabindex="35" data-l10n-id="bookmark">
|
||||
<span data-l10n-id="bookmark_label">Current View</span>
|
||||
</a>
|
||||
|
|
|
@ -167,7 +167,7 @@
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<button type="submit" class="btn btn-default">{{_('Submit')}}</button>
|
||||
<button type="submit" id="adv_submit" class="btn btn-default">{{_('Submit')}}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
<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">
|
||||
<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) }}">
|
||||
<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 %}
|
||||
{{entry['title']}}
|
||||
{% if entry['series']|length > 0 %}
|
||||
<br>
|
||||
{{entry.series_index}} - {{entry.series[0].name}}
|
||||
{{entry['series_index']}} - {{entry['series'][0].name}}
|
||||
{% endif %}
|
||||
<br>
|
||||
{% for author in entry.authors %}
|
||||
{% for author in entry['authors'] %}
|
||||
{{author.name.replace('|',',')}}
|
||||
{% if not loop.last %}
|
||||
&
|
||||
|
@ -29,7 +29,7 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
<button onclick="sendData('{{ url_for('shelf.order_shelf', shelf_id=shelf.id) }}')" class="btn btn-default" id="ChangeOrder">{{_('Change order')}}</button>
|
||||
<a href="{{ url_for('shelf.show_shelf', shelf_id=shelf.id) }}" class="btn btn-default">{{_('Back')}}</a>
|
||||
<a href="{{ url_for('shelf.show_shelf', shelf_id=shelf.id) }}" id="shelf_back" class="btn btn-default">{{_('Back')}}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if feature_support['kobo'] and not new_user %}
|
||||
{% if kobo_support and not new_user %}
|
||||
<label>{{ _('Kobo Sync Token')}}</label>
|
||||
<div class="form-group col">
|
||||
<a class="btn btn-default" id="config_create_kobo_token" data-toggle="modal" data-target="#modal_kobo_token" data-remote="false" href="{{ url_for('kobo_auth.generate_auth_token', user_id=content.id) }}">{{_('Create/View')}}</a>
|
||||
|
@ -79,7 +79,7 @@
|
|||
<input type="checkbox" name="Show_detail_random" id="Show_detail_random" {% if content.show_detail_random() %}checked{% endif %}>
|
||||
<label for="Show_detail_random">{{_('Show random books in detail view')}}</label>
|
||||
</div>
|
||||
{% if ( g.user and g.user.role_admin() ) %}
|
||||
{% if ( g.user and g.user.role_admin() and not new_user ) %}
|
||||
<a href="#" id="get_user_tags" class="btn btn-default" data-toggle="modal" data-target="#restrictModal">{{_('Add allowed/denied Tags')}}</a>
|
||||
<a href="#" id="get_user_column_values" class="btn btn-default" data-toggle="modal" data-target="#restrictModal">{{_('Add allowed/denied custom column values')}}</a>
|
||||
{% endif %}
|
||||
|
|
Binary file not shown.
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2020-01-20 20:31+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-08 11:37+0000\n"
|
||||
"Last-Translator: Lukas Heroudek <lukas.heroudek@gmail.com>\n"
|
||||
"Language: cs_CZ\n"
|
||||
|
@ -79,7 +79,7 @@ msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdí
|
|||
#: cps/admin.py:489
|
||||
#, python-format
|
||||
msgid "User '%(user)s' created"
|
||||
msgstr "Uživatel ‘%(user)s’ vytvořen"
|
||||
msgstr "Uživatel '%(user)s' vytvořen"
|
||||
|
||||
#: cps/admin.py:509
|
||||
msgid "Edit e-mail server settings"
|
||||
|
@ -147,55 +147,55 @@ msgstr "Neznámá chyba. Opakujte prosím později."
|
|||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..."
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Prohlížeč log souborů"
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Požadování balíčku aktualizace"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Stahování balíčku aktualizace"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Rozbalování balíčku aktualizace"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Nahrazování souborů"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Databázová připojení jsou uzavřena"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Zastavuji server"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Aktualizace dokončena, klepněte na tlačítko OK a znovu načtěte stránku"
|
||||
|
||||
#: cps/admin.py:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "Aktualizace selhala:"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP chyba"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Chyba připojení"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Vypršel časový limit při navazování spojení"
|
||||
|
||||
#: cps/admin.py:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Všeobecná chyba"
|
||||
|
||||
|
@ -205,7 +205,7 @@ msgstr "není nakonfigurováno"
|
|||
|
||||
#: cps/editbooks.py:214 cps/editbooks.py:396
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible"
|
||||
msgstr "Chyba otevírání eKnihy. Soubor neexistuje nebo není přístupný"
|
||||
msgstr "Chyba otevírání eknihy. Soubor neexistuje nebo není přístupný"
|
||||
|
||||
#: cps/editbooks.py:242
|
||||
msgid "edit metadata"
|
||||
|
@ -214,11 +214,11 @@ msgstr "upravit metadata"
|
|||
#: cps/editbooks.py:321 cps/editbooks.py:569
|
||||
#, python-format
|
||||
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
|
||||
msgstr "Soubor s příponou ‘%(ext)s’ nelze odeslat na tento server"
|
||||
msgstr "Soubor s příponou '%(ext)s' nelze odeslat na tento server"
|
||||
|
||||
#: cps/editbooks.py:325 cps/editbooks.py:573
|
||||
msgid "File to be uploaded must have an extension"
|
||||
msgstr "Soubor, který má být odeslán, musí mít příponu"
|
||||
msgstr "Soubor, který má být odeslán musí mít příponu"
|
||||
|
||||
#: cps/editbooks.py:337 cps/editbooks.py:607
|
||||
#, python-format
|
||||
|
@ -296,7 +296,7 @@ msgstr "Při převodu této knihy došlo k chybě: %(res)s"
|
|||
|
||||
#: cps/gdrive.py:62
|
||||
msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again"
|
||||
msgstr "Google Drive nastavení nebylo dokončeno, zkuste znovu deaktivovat a aktivovat Google Drive"
|
||||
msgstr "Google Drive nastavení nebylo dokončeno, zkuste znovu deaktivovat a aktivovat Google Drive"
|
||||
|
||||
#: cps/gdrive.py:104
|
||||
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
|
||||
|
@ -366,17 +366,17 @@ msgstr "Požadovaný soubor nelze přečíst. Možná nesprávná oprávnění?"
|
|||
#: cps/helper.py:322
|
||||
#, python-format
|
||||
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenování názvu z: ‘%(src)s‘ na ‘%(dest)s' selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:332
|
||||
#, python-format
|
||||
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenovat autora z: ‘%(src)s‘ na ‘%(dest)s’ selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenovat autora z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:346
|
||||
#, python-format
|
||||
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
|
||||
msgstr "Přejmenování souboru v cestě ‘%(src)s‘ na ‘%(dest)s‘ selhalo chybou: %(error)s"
|
||||
msgstr "Přejmenování souboru v cestě '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
|
||||
|
||||
#: cps/helper.py:372 cps/helper.py:382 cps/helper.py:390
|
||||
#, python-format
|
||||
|
@ -528,7 +528,7 @@ msgstr "Lituji, nejste oprávněni odebrat knihu z této police: %(sname)s"
|
|||
#: cps/shelf.py:207 cps/shelf.py:231
|
||||
#, python-format
|
||||
msgid "A shelf with the name '%(title)s' already exists."
|
||||
msgstr "Police s názvem ‘%(title)s’ již existuje."
|
||||
msgstr "Police s názvem '%(title)s' již existuje."
|
||||
|
||||
#: cps/shelf.py:212
|
||||
#, python-format
|
||||
|
@ -555,7 +555,7 @@ msgstr "Upravit polici"
|
|||
#: cps/shelf.py:289
|
||||
#, python-format
|
||||
msgid "Shelf: '%(name)s'"
|
||||
msgstr "Police: ’%(name)s’"
|
||||
msgstr "Police: '%(name)s'"
|
||||
|
||||
#: cps/shelf.py:292
|
||||
msgid "Error opening shelf. Shelf does not exist or is not accessible"
|
||||
|
@ -564,7 +564,7 @@ msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná"
|
|||
#: cps/shelf.py:323
|
||||
#, python-format
|
||||
msgid "Change order of Shelf: '%(name)s'"
|
||||
msgstr "Změnit pořadí Police: ‘%(name)s’"
|
||||
msgstr "Změnit pořadí Police: '%(name)s'"
|
||||
|
||||
#: cps/ub.py:57
|
||||
msgid "Recently Added"
|
||||
|
@ -858,7 +858,7 @@ msgstr "Nelze aktivovat ověření LDAP"
|
|||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "nyní jste přihlášeni jako: ‘%(nickname)s’"
|
||||
msgstr "nyní jste přihlášeni jako: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1156
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
|
@ -1153,7 +1153,7 @@ msgstr "Převést formát knihy:"
|
|||
|
||||
#: cps/templates/book_edit.html:30
|
||||
msgid "Convert from:"
|
||||
msgstr "Převest z:"
|
||||
msgstr "Převést z:"
|
||||
|
||||
#: cps/templates/book_edit.html:32 cps/templates/book_edit.html:39
|
||||
msgid "select an option"
|
||||
|
@ -1165,7 +1165,7 @@ msgstr "Převést do:"
|
|||
|
||||
#: cps/templates/book_edit.html:46
|
||||
msgid "Convert book"
|
||||
msgstr "Převest knihu"
|
||||
msgstr "Převést knihu"
|
||||
|
||||
#: cps/templates/book_edit.html:55 cps/templates/search_form.html:6
|
||||
msgid "Book Title"
|
||||
|
@ -1341,7 +1341,7 @@ msgstr "Server port"
|
|||
|
||||
#: cps/templates/config_edit.html:91
|
||||
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
|
||||
msgstr "Umístění certifikátu SSL (ponechejte prázdné u serverů jiných než SSL)"
|
||||
msgstr "Umístění certifikátu SSL (ponechte prázdné pro servery jiné než SSL)"
|
||||
|
||||
#: cps/templates/config_edit.html:95
|
||||
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
|
||||
|
@ -1405,7 +1405,7 @@ msgstr "Povolit veřejnou registraci"
|
|||
|
||||
#: cps/templates/config_edit.html:170
|
||||
msgid "Enable remote login (\"magic link\")"
|
||||
msgstr "Povolit vzdálené přihlášení (\\“magic link\\”)"
|
||||
msgstr "Povolit vzdálené přihlášení (\\\"magic link\\\")"
|
||||
|
||||
#: cps/templates/config_edit.html:175
|
||||
msgid "Use Goodreads"
|
||||
|
@ -1495,12 +1495,12 @@ msgstr "Obtain %(provider)s OAuth Credential"
|
|||
#: cps/templates/config_edit.html:263
|
||||
#, python-format
|
||||
msgid "%(provider)s OAuth Client Id"
|
||||
msgstr "%(provider)s OAuth Client Id"
|
||||
msgstr "%(provider)s OAuth Klient Id"
|
||||
|
||||
#: cps/templates/config_edit.html:267
|
||||
#, python-format
|
||||
msgid "%(provider)s OAuth Client Secret"
|
||||
msgstr "%(provider)s OAuth Client Secret"
|
||||
msgstr "%(provider)s OAuth Klient Tajemství"
|
||||
|
||||
#: cps/templates/config_edit.html:276
|
||||
msgid "Allow Reverse Proxy Authentication"
|
||||
|
@ -1532,7 +1532,7 @@ msgstr "Nastavení převaděče eknih"
|
|||
|
||||
#: cps/templates/config_edit.html:312
|
||||
msgid "Path to convertertool"
|
||||
msgstr "Cesta k převáděči"
|
||||
msgstr "Cesta k převaděči"
|
||||
|
||||
#: cps/templates/config_edit.html:318
|
||||
msgid "Location of Unrar binary"
|
||||
|
@ -1577,7 +1577,7 @@ msgstr "Regulární výraz pro ignorování sloupců"
|
|||
|
||||
#: cps/templates/config_view_edit.html:46
|
||||
msgid "Link read/unread status to Calibre column"
|
||||
msgstr "Propojit stav čtení/nepřečtení do sloupce Calibre"
|
||||
msgstr "Propojit stav čtení/nepřečtení do sloupce Calibre"
|
||||
|
||||
#: cps/templates/config_view_edit.html:55
|
||||
msgid "Regular expression for title sorting"
|
||||
|
@ -1625,7 +1625,7 @@ msgstr "Povolit úpravy veřejných polic"
|
|||
|
||||
#: cps/templates/config_view_edit.html:119
|
||||
msgid "Default visibilities for new users"
|
||||
msgstr "Výchozí viditelnosti pro nové uživatele"
|
||||
msgstr "Výchozí zobrazení pro nové uživatele"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
|
@ -2337,7 +2337,7 @@ msgstr "Nedávná stahování"
|
|||
#~ msgstr "Prohlížeč PDF.js"
|
||||
|
||||
#~ msgid "Preparing document for printing..."
|
||||
#~ msgstr "Příprava dokumentu pro tisk …"
|
||||
#~ msgstr "Příprava dokumentu pro tisk..."
|
||||
|
||||
#~ msgid "Using your another device, visit"
|
||||
#~ msgstr "Pomocí jiného zařízení navštivte"
|
||||
|
@ -3315,7 +3315,7 @@ msgstr "Nedávná stahování"
|
|||
#~ msgstr "Selkup"
|
||||
|
||||
#~ msgid "Irish; Old (to 900)"
|
||||
#~ msgstr "Irlandese antico (fino al ’900)"
|
||||
#~ msgstr "Irlandese antico (fino al 900)"
|
||||
|
||||
#~ msgid "Shan"
|
||||
#~ msgstr "Shan"
|
||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2020-01-18 12:54+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-18 12:52+0100\n"
|
||||
"Last-Translator: Ozzie Isaacs\n"
|
||||
"Language: de\n"
|
||||
|
@ -148,55 +148,55 @@ msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuche
|
|||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Logdatei Anzeige"
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Frage Update an"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Lade Update herunter"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Entpacke Update"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Ersetze Dateien"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Schließe Datenbankverbindungen"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Stoppe Server"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
|
||||
|
||||
#: cps/admin.py:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "Update fehlgeschlagen:"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP Fehler"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Verbindungsfehler"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Timeout beim Verbindungsaufbau"
|
||||
|
||||
#: cps/admin.py:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Allgemeiner Fehler"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2020-01-12 13:57+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-07-26 11:44+0100\n"
|
||||
"Last-Translator: minakmostoles <xxx@xxx.com>\n"
|
||||
"Language: es\n"
|
||||
|
@ -62,7 +62,7 @@ msgstr "Configuración de Calibre-Web actualizada"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Configuración básica"
|
||||
|
||||
#: cps/admin.py:465 cps/web.py:1093
|
||||
#: cps/admin.py:465 cps/web.py:1090
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "¡Por favor completar todos los campos!"
|
||||
|
||||
|
@ -71,7 +71,7 @@ msgstr "¡Por favor completar todos los campos!"
|
|||
msgid "Add new user"
|
||||
msgstr "Agregar un nuevo usuario"
|
||||
|
||||
#: cps/admin.py:476 cps/web.py:1318
|
||||
#: cps/admin.py:476 cps/web.py:1315
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "El correo electrónico no tiene un nombre de dominio válido"
|
||||
|
||||
|
@ -115,16 +115,16 @@ 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:612 cps/web.py:1359
|
||||
#: cps/admin.py:612 cps/web.py:1356
|
||||
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:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1334
|
||||
#: cps/admin.py:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1331
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Editar Usuario %(nick)s"
|
||||
|
||||
#: cps/admin.py:622 cps/web.py:1327
|
||||
#: cps/admin.py:622 cps/web.py:1324
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
|
@ -142,63 +142,63 @@ msgstr "Ocurrió un error inesperado."
|
|||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Contraseña para el usuario %(user)s reinicializada"
|
||||
|
||||
#: cps/admin.py:660 cps/web.py:1118 cps/web.py:1174
|
||||
#: cps/admin.py:660 cps/web.py:1115 cps/web.py:1171
|
||||
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:663 cps/web.py:1062
|
||||
#: cps/admin.py:663 cps/web.py:1059
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Configura primero los parámetros del servidor SMTP..."
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Visor del fichero de log"
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Solicitando paquete de actualización"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Descargando paquete de actualización"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Descomprimiendo paquete de actualización"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Remplazando ficheros"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Los conexiones de base datos están cerradas"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Parando servidor"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
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:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "Fallo al actualizar"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "Error HTTP"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Error de conexión"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 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:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Error general"
|
||||
|
||||
|
@ -594,7 +594,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:1011
|
||||
#: cps/web.py:1009
|
||||
msgid "Read Books"
|
||||
msgstr "Libros leídos"
|
||||
|
||||
|
@ -603,7 +603,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:1015
|
||||
#: cps/web.py:1013
|
||||
msgid "Unread Books"
|
||||
msgstr "Libros no leídos"
|
||||
|
||||
|
@ -725,7 +725,7 @@ msgstr "Libros"
|
|||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Libros populares (los más descargados)"
|
||||
|
||||
#: cps/web.py:586 cps/web.py:1382 cps/web.py:1478
|
||||
#: cps/web.py:586 cps/web.py:1379 cps/web.py:1475
|
||||
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:"
|
||||
|
||||
|
@ -793,128 +793,128 @@ msgid "Tasks"
|
|||
msgstr "Tareas"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:829 cps/web.py:831
|
||||
#: cps/templates/layout.html:45 cps/web.py:827 cps/web.py:829
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: cps/web.py:881
|
||||
#: cps/web.py:879
|
||||
msgid "Published after "
|
||||
msgstr "Publicado después de"
|
||||
|
||||
#: cps/web.py:888
|
||||
#: cps/web.py:886
|
||||
msgid "Published before "
|
||||
msgstr "Publicado antes de"
|
||||
|
||||
#: cps/web.py:902
|
||||
#: cps/web.py:900
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Calificación <= %(rating)s"
|
||||
|
||||
#: cps/web.py:904
|
||||
#: cps/web.py:902
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Calificación >= %(rating)s"
|
||||
|
||||
#: cps/web.py:970 cps/web.py:982
|
||||
#: cps/web.py:968 cps/web.py:980
|
||||
msgid "search"
|
||||
msgstr "búsqueda"
|
||||
|
||||
#: cps/web.py:1067
|
||||
#: cps/web.py:1064
|
||||
#, 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:1071
|
||||
#: cps/web.py:1068
|
||||
#, 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:1073
|
||||
#: cps/web.py:1070
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Por favor configure primero la dirección de correo de su kindle..."
|
||||
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1084
|
||||
msgid "E-Mail server is not configured, please contact your administrator!"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1088 cps/web.py:1094 cps/web.py:1119 cps/web.py:1123
|
||||
#: cps/web.py:1128 cps/web.py:1132
|
||||
#: cps/web.py:1085 cps/web.py:1091 cps/web.py:1116 cps/web.py:1120
|
||||
#: cps/web.py:1125 cps/web.py:1129
|
||||
msgid "register"
|
||||
msgstr "registrarse"
|
||||
|
||||
#: cps/web.py:1121
|
||||
#: cps/web.py:1118
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Su correo electrónico no está permitido para registrarse"
|
||||
|
||||
#: cps/web.py:1124
|
||||
#: cps/web.py:1121
|
||||
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:1127
|
||||
#: cps/web.py:1124
|
||||
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:1144
|
||||
#: cps/web.py:1141
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "No se puede activar la autenticación LDAP"
|
||||
|
||||
#: cps/web.py:1154 cps/web.py:1281
|
||||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Sesión iniciada como : '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1159
|
||||
#: cps/web.py:1156
|
||||
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:1163 cps/web.py:1186
|
||||
#: cps/web.py:1160 cps/web.py:1183
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Usuario o contraseña inválido"
|
||||
|
||||
#: cps/web.py:1170
|
||||
#: cps/web.py:1167
|
||||
msgid "New Password was send to your email address"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1173
|
||||
msgid "Please enter valid username to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1182
|
||||
#: cps/web.py:1179
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Ahora estás conectado como: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1189 cps/web.py:1213
|
||||
#: cps/web.py:1186 cps/web.py:1210
|
||||
msgid "login"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: cps/web.py:1225 cps/web.py:1259
|
||||
#: cps/web.py:1222 cps/web.py:1256
|
||||
msgid "Token not found"
|
||||
msgstr "Token no encontrado"
|
||||
|
||||
#: cps/web.py:1234 cps/web.py:1267
|
||||
#: cps/web.py:1231 cps/web.py:1264
|
||||
msgid "Token has expired"
|
||||
msgstr "El token ha expirado"
|
||||
|
||||
#: cps/web.py:1243
|
||||
#: cps/web.py:1240
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "¡Correcto! Por favor regrese a su dispositivo"
|
||||
|
||||
#: cps/web.py:1320 cps/web.py:1363 cps/web.py:1369
|
||||
#: cps/web.py:1317 cps/web.py:1360 cps/web.py:1366
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Perfil de %(name)s"
|
||||
|
||||
#: cps/web.py:1365
|
||||
#: cps/web.py:1362
|
||||
msgid "Profile updated"
|
||||
msgstr "Perfil actualizado"
|
||||
|
||||
#: cps/web.py:1394 cps/web.py:1397 cps/web.py:1400 cps/web.py:1407
|
||||
#: cps/web.py:1412
|
||||
#: cps/web.py:1391 cps/web.py:1394 cps/web.py:1397 cps/web.py:1404
|
||||
#: cps/web.py:1409
|
||||
msgid "Read a Book"
|
||||
msgstr "Leer un libro"
|
||||
|
||||
#: cps/web.py:1423
|
||||
#: cps/web.py:1420
|
||||
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."
|
||||
|
||||
|
@ -1101,7 +1101,7 @@ msgstr "Ok"
|
|||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:92
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:131
|
||||
#: cps/templates/user_edit.html:133
|
||||
msgid "Back"
|
||||
msgstr "Regresar"
|
||||
|
||||
|
@ -1214,7 +1214,7 @@ msgstr "Fecha de publicación"
|
|||
msgid "Publisher"
|
||||
msgstr "Editor"
|
||||
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:30
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:31
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
|
@ -1241,7 +1241,7 @@ msgstr "Obtener metadatos"
|
|||
#: cps/templates/book_edit.html:173 cps/templates/config_edit.html:329
|
||||
#: cps/templates/config_view_edit.html:146 cps/templates/login.html:20
|
||||
#: cps/templates/search_form.html:170 cps/templates/shelf_edit.html:17
|
||||
#: cps/templates/user_edit.html:129
|
||||
#: cps/templates/user_edit.html:131
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
|
@ -1594,35 +1594,35 @@ msgstr "Etiquetas para contenido para adultos"
|
|||
msgid "Default settings for new users"
|
||||
msgstr "Ajustes por defecto para nuevos usuarios"
|
||||
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:84
|
||||
msgid "Admin user"
|
||||
msgstr "Usuario administrador"
|
||||
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:93
|
||||
msgid "Allow Downloads"
|
||||
msgstr "Permitir descargas"
|
||||
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:97
|
||||
msgid "Allow book viewer"
|
||||
msgstr "Permitir visor de libros"
|
||||
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:101
|
||||
msgid "Allow Uploads"
|
||||
msgstr "Permitir subidas de archivos"
|
||||
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:105
|
||||
msgid "Allow Edit"
|
||||
msgstr "Permitir editar"
|
||||
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109
|
||||
msgid "Allow Delete books"
|
||||
msgstr "Permitir eliminar libros"
|
||||
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:114
|
||||
msgid "Allow Changing Password"
|
||||
msgstr "Permitir cambiar la contraseña"
|
||||
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:116
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:118
|
||||
msgid "Allow Editing Public Shelfs"
|
||||
msgstr "Permitir editar estantes públicos"
|
||||
|
||||
|
@ -1630,11 +1630,11 @@ msgstr "Permitir editar estantes públicos"
|
|||
msgid "Default visibilities for new users"
|
||||
msgstr "Visibilidad predeterminada para nuevos usuarios"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:74
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
msgstr "Mostrar libros aleatorios con vista detallada"
|
||||
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:87
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:89
|
||||
msgid "Show mature content"
|
||||
msgstr "Mostrar contenido para adulto"
|
||||
|
||||
|
@ -1913,13 +1913,21 @@ msgstr ""
|
|||
msgid "Log in with magic link"
|
||||
msgstr "Iniciar sesión con \"magic link\""
|
||||
|
||||
#: cps/templates/logviewer.html:5
|
||||
msgid "Show Calibre-Web log"
|
||||
msgstr "Mostrar registro de Calibre-Web"
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Show access log"
|
||||
msgstr "Mostrar registro de acceso"
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
msgid "Calibre-Web ebook catalog"
|
||||
|
@ -2213,31 +2221,31 @@ msgstr "Resetear contraseña de usuario"
|
|||
msgid "Kindle E-Mail"
|
||||
msgstr "Correo del Kindle"
|
||||
|
||||
#: cps/templates/user_edit.html:39
|
||||
#: cps/templates/user_edit.html:41
|
||||
msgid "Show books with language"
|
||||
msgstr "Mostrar libros con idioma"
|
||||
|
||||
#: cps/templates/user_edit.html:41
|
||||
#: cps/templates/user_edit.html:43
|
||||
msgid "Show all"
|
||||
msgstr "Mostrar todo"
|
||||
|
||||
#: cps/templates/user_edit.html:51
|
||||
#: cps/templates/user_edit.html:53
|
||||
msgid "OAuth Settings"
|
||||
msgstr "Ajustes OAuth"
|
||||
|
||||
#: cps/templates/user_edit.html:53
|
||||
#: cps/templates/user_edit.html:55
|
||||
msgid "Link"
|
||||
msgstr "Vincular"
|
||||
|
||||
#: cps/templates/user_edit.html:55
|
||||
#: cps/templates/user_edit.html:57
|
||||
msgid "Unlink"
|
||||
msgstr "Desvincular"
|
||||
|
||||
#: cps/templates/user_edit.html:123
|
||||
#: cps/templates/user_edit.html:125
|
||||
msgid "Delete this user"
|
||||
msgstr "Borrar este usuario"
|
||||
|
||||
#: cps/templates/user_edit.html:138
|
||||
#: cps/templates/user_edit.html:140
|
||||
msgid "Recent Downloads"
|
||||
msgstr "Descargas recientes"
|
||||
|
||||
|
@ -2487,3 +2495,9 @@ msgstr "Descargas recientes"
|
|||
#~ msgid "New Books"
|
||||
#~ msgstr "Libros nuevos"
|
||||
|
||||
#~ msgid "Show Calibre-Web log"
|
||||
#~ msgstr "Mostrar registro de Calibre-Web"
|
||||
|
||||
#~ msgid "Show access log"
|
||||
#~ msgstr "Mostrar registro de acceso"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
|
||||
"POT-Creation-Date: 2020-01-12 13:57+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
|
||||
"Last-Translator: Samuli Valavuo <svalavuo@gmail.com>\n"
|
||||
"Language: fi\n"
|
||||
|
@ -60,7 +60,7 @@ msgstr "Calibre-Web asetukset päivitetty"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Perusasetukset"
|
||||
|
||||
#: cps/admin.py:465 cps/web.py:1093
|
||||
#: cps/admin.py:465 cps/web.py:1090
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Ole hyvä ja täytä kaikki kentät!"
|
||||
|
||||
|
@ -69,7 +69,7 @@ msgstr "Ole hyvä ja täytä kaikki kentät!"
|
|||
msgid "Add new user"
|
||||
msgstr "Lisää uusi käyttäjä"
|
||||
|
||||
#: cps/admin.py:476 cps/web.py:1318
|
||||
#: cps/admin.py:476 cps/web.py:1315
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Sähköpostiosoite ei ole toimivasta domainista"
|
||||
|
||||
|
@ -113,16 +113,16 @@ msgstr "Käyttäjä '%(nick)s' poistettu"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr "Pääkäyttäjiä ei jää jäljelle, käyttäjää ei voi poistaa"
|
||||
|
||||
#: cps/admin.py:612 cps/web.py:1359
|
||||
#: cps/admin.py:612 cps/web.py:1356
|
||||
msgid "Found an existing account for this e-mail address."
|
||||
msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus."
|
||||
|
||||
#: cps/admin.py:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1334
|
||||
#: cps/admin.py:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1331
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Muokkaa käyttäjää %(nick)s"
|
||||
|
||||
#: cps/admin.py:622 cps/web.py:1327
|
||||
#: cps/admin.py:622 cps/web.py:1324
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
|
@ -140,63 +140,63 @@ msgstr "Tapahtui tuntematon virhe."
|
|||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Käyttäjän %(user)s salasana palautettu"
|
||||
|
||||
#: cps/admin.py:660 cps/web.py:1118 cps/web.py:1174
|
||||
#: cps/admin.py:660 cps/web.py:1115 cps/web.py:1171
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen."
|
||||
|
||||
#: cps/admin.py:663 cps/web.py:1062
|
||||
#: cps/admin.py:663 cps/web.py:1059
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..."
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Lokitiedoston katselin"
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Haetaan päivitystiedostoa"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Ladataan päivitystiedostoa"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Puretaan päivitystiedostoa"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Korvataan tiedostoja"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Tietokantayhteydet on katkaistu"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Sammutetaan palvelin"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
msgid "Update finished, please press okay and reload page"
|
||||
msgstr "Päivitys valmistui, ole hyvä ja paina OK ja lataa sivu uudelleen"
|
||||
|
||||
#: cps/admin.py:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "Päivitys epäonnistui:"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP virhe"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Yhteysvirhe"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 cps/updater.py:276 cps/updater.py:463
|
||||
msgid "Timeout while establishing connection"
|
||||
msgstr "Aikakatkaisu yhteyttä luotaessa"
|
||||
|
||||
#: cps/admin.py:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Yleinen virhe"
|
||||
|
||||
|
@ -592,7 +592,7 @@ msgid "Show best rated books"
|
|||
msgstr "Näytä parhaiten arvioidut kirjat"
|
||||
|
||||
#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:67
|
||||
#: cps/web.py:1011
|
||||
#: cps/web.py:1009
|
||||
msgid "Read Books"
|
||||
msgstr "Luetut kirjat"
|
||||
|
||||
|
@ -601,7 +601,7 @@ msgid "Show read and unread"
|
|||
msgstr "Näytä luetut ja lukemattomat"
|
||||
|
||||
#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:71
|
||||
#: cps/web.py:1015
|
||||
#: cps/web.py:1013
|
||||
msgid "Unread Books"
|
||||
msgstr "Lukemattomat kirjat"
|
||||
|
||||
|
@ -723,7 +723,7 @@ msgstr "Kirjat"
|
|||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Kuumat kirjat (ladatuimmat)"
|
||||
|
||||
#: cps/web.py:586 cps/web.py:1382 cps/web.py:1478
|
||||
#: cps/web.py:586 cps/web.py:1379 cps/web.py:1475
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible:"
|
||||
msgstr "Virhe eKirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla:"
|
||||
|
||||
|
@ -791,128 +791,128 @@ msgid "Tasks"
|
|||
msgstr "Tehtävät"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:829 cps/web.py:831
|
||||
#: cps/templates/layout.html:45 cps/web.py:827 cps/web.py:829
|
||||
msgid "Search"
|
||||
msgstr "Hae"
|
||||
|
||||
#: cps/web.py:881
|
||||
#: cps/web.py:879
|
||||
msgid "Published after "
|
||||
msgstr "Julkaistu alkaen "
|
||||
|
||||
#: cps/web.py:888
|
||||
#: cps/web.py:886
|
||||
msgid "Published before "
|
||||
msgstr "Julkaisut ennen "
|
||||
|
||||
#: cps/web.py:902
|
||||
#: cps/web.py:900
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Arvostelu <= %(rating)s"
|
||||
|
||||
#: cps/web.py:904
|
||||
#: cps/web.py:902
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Arvostelu >= %(rating)s"
|
||||
|
||||
#: cps/web.py:970 cps/web.py:982
|
||||
#: cps/web.py:968 cps/web.py:980
|
||||
msgid "search"
|
||||
msgstr "hae"
|
||||
|
||||
#: cps/web.py:1067
|
||||
#: cps/web.py:1064
|
||||
#, python-format
|
||||
msgid "Book successfully queued for sending to %(kindlemail)s"
|
||||
msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(kindlemail)s"
|
||||
|
||||
#: cps/web.py:1071
|
||||
#: cps/web.py:1068
|
||||
#, python-format
|
||||
msgid "There was an error sending this book: %(res)s"
|
||||
msgstr "Kirjan: %(res)s lähettämisessa tapahtui virhe"
|
||||
|
||||
#: cps/web.py:1073
|
||||
#: cps/web.py:1070
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Ole hyvä ja aseta Kindle sähköpostiosoite ensin..."
|
||||
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1084
|
||||
msgid "E-Mail server is not configured, please contact your administrator!"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1088 cps/web.py:1094 cps/web.py:1119 cps/web.py:1123
|
||||
#: cps/web.py:1128 cps/web.py:1132
|
||||
#: cps/web.py:1085 cps/web.py:1091 cps/web.py:1116 cps/web.py:1120
|
||||
#: cps/web.py:1125 cps/web.py:1129
|
||||
msgid "register"
|
||||
msgstr "rekisteröidy"
|
||||
|
||||
#: cps/web.py:1121
|
||||
#: cps/web.py:1118
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä"
|
||||
|
||||
#: cps/web.py:1124
|
||||
#: cps/web.py:1121
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi."
|
||||
|
||||
#: cps/web.py:1127
|
||||
#: cps/web.py:1124
|
||||
msgid "This username or e-mail address is already in use."
|
||||
msgstr "Käyttäjätunnus tai sähköpostiosoite on jo käytössä."
|
||||
|
||||
#: cps/web.py:1144
|
||||
#: cps/web.py:1141
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "LDAP autnetikoinnin aktivointi ei onnistu"
|
||||
|
||||
#: cps/web.py:1154 cps/web.py:1281
|
||||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\""
|
||||
|
||||
#: cps/web.py:1159
|
||||
#: cps/web.py:1156
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr "Kirjautuminen epäonnistui. LDAP palvelin alhaalla, ot yhteyttä ylläpitoon"
|
||||
|
||||
#: cps/web.py:1163 cps/web.py:1186
|
||||
#: cps/web.py:1160 cps/web.py:1183
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Väärä käyttäjätunnus tai salasana"
|
||||
|
||||
#: cps/web.py:1170
|
||||
#: cps/web.py:1167
|
||||
msgid "New Password was send to your email address"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1173
|
||||
msgid "Please enter valid username to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1182
|
||||
#: cps/web.py:1179
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "olet kirjautunut tunnuksella: '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1189 cps/web.py:1213
|
||||
#: cps/web.py:1186 cps/web.py:1210
|
||||
msgid "login"
|
||||
msgstr "kirjaudu"
|
||||
|
||||
#: cps/web.py:1225 cps/web.py:1259
|
||||
#: cps/web.py:1222 cps/web.py:1256
|
||||
msgid "Token not found"
|
||||
msgstr "Valtuutusta ei löytynyt"
|
||||
|
||||
#: cps/web.py:1234 cps/web.py:1267
|
||||
#: cps/web.py:1231 cps/web.py:1264
|
||||
msgid "Token has expired"
|
||||
msgstr "Valtuutus vanhentunut"
|
||||
|
||||
#: cps/web.py:1243
|
||||
#: cps/web.py:1240
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Onnistui! Ole hyvä ja palaa laitteellesi"
|
||||
|
||||
#: cps/web.py:1320 cps/web.py:1363 cps/web.py:1369
|
||||
#: cps/web.py:1317 cps/web.py:1360 cps/web.py:1366
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)sn profiili"
|
||||
|
||||
#: cps/web.py:1365
|
||||
#: cps/web.py:1362
|
||||
msgid "Profile updated"
|
||||
msgstr "Profiili päivitetty"
|
||||
|
||||
#: cps/web.py:1394 cps/web.py:1397 cps/web.py:1400 cps/web.py:1407
|
||||
#: cps/web.py:1412
|
||||
#: cps/web.py:1391 cps/web.py:1394 cps/web.py:1397 cps/web.py:1404
|
||||
#: cps/web.py:1409
|
||||
msgid "Read a Book"
|
||||
msgstr "Lue kirja"
|
||||
|
||||
#: cps/web.py:1423
|
||||
#: cps/web.py:1420
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr "Virhe kirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla."
|
||||
|
||||
|
@ -1099,7 +1099,7 @@ msgstr "Ok"
|
|||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:92
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:131
|
||||
#: cps/templates/user_edit.html:133
|
||||
msgid "Back"
|
||||
msgstr "Palaa"
|
||||
|
||||
|
@ -1212,7 +1212,7 @@ msgstr "Julkaisupäivä"
|
|||
msgid "Publisher"
|
||||
msgstr "Julkaisija"
|
||||
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:30
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:31
|
||||
msgid "Language"
|
||||
msgstr "Kieli"
|
||||
|
||||
|
@ -1239,7 +1239,7 @@ msgstr "Hae metadata"
|
|||
#: cps/templates/book_edit.html:173 cps/templates/config_edit.html:329
|
||||
#: cps/templates/config_view_edit.html:146 cps/templates/login.html:20
|
||||
#: cps/templates/search_form.html:170 cps/templates/shelf_edit.html:17
|
||||
#: cps/templates/user_edit.html:129
|
||||
#: cps/templates/user_edit.html:131
|
||||
msgid "Submit"
|
||||
msgstr "Lähetä"
|
||||
|
||||
|
@ -1592,35 +1592,35 @@ msgstr "Aikusimateriaalin merkinnät"
|
|||
msgid "Default settings for new users"
|
||||
msgstr "Uuden käyttäjän oletusasetukset"
|
||||
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:84
|
||||
msgid "Admin user"
|
||||
msgstr "Pääkäyttäjä"
|
||||
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:93
|
||||
msgid "Allow Downloads"
|
||||
msgstr "Salli kirjojen lataukset"
|
||||
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:97
|
||||
msgid "Allow book viewer"
|
||||
msgstr "Salli kirjojen luku"
|
||||
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:101
|
||||
msgid "Allow Uploads"
|
||||
msgstr "Salli lisäykset"
|
||||
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:105
|
||||
msgid "Allow Edit"
|
||||
msgstr "Salli muutokset"
|
||||
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109
|
||||
msgid "Allow Delete books"
|
||||
msgstr "Salli kirjojen poisto"
|
||||
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:114
|
||||
msgid "Allow Changing Password"
|
||||
msgstr "Salli sananan vaihto"
|
||||
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:116
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:118
|
||||
msgid "Allow Editing Public Shelfs"
|
||||
msgstr "Salli julkisten hyllyjen editointi"
|
||||
|
||||
|
@ -1628,11 +1628,11 @@ msgstr "Salli julkisten hyllyjen editointi"
|
|||
msgid "Default visibilities for new users"
|
||||
msgstr "Oletusnäkymä uusille käyttäjille"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:74
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
msgstr "Näytä satunnaisia kirjoja näkymässä"
|
||||
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:87
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:89
|
||||
msgid "Show mature content"
|
||||
msgstr "Näytä aikuismateriaali"
|
||||
|
||||
|
@ -1911,13 +1911,21 @@ msgstr ""
|
|||
msgid "Log in with magic link"
|
||||
msgstr "Kirjadu käyttäen magic link"
|
||||
|
||||
#: cps/templates/logviewer.html:5
|
||||
msgid "Show Calibre-Web log"
|
||||
msgstr "Näytä Calibre-Web loki"
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Show access log"
|
||||
msgstr "Näytä pääsyloki"
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
msgid "Calibre-Web ebook catalog"
|
||||
|
@ -2211,31 +2219,31 @@ msgstr "Nollaa käyttäjän salasana"
|
|||
msgid "Kindle E-Mail"
|
||||
msgstr "Kindle sähköposti"
|
||||
|
||||
#: cps/templates/user_edit.html:39
|
||||
#: cps/templates/user_edit.html:41
|
||||
msgid "Show books with language"
|
||||
msgstr "Näytä kirjat kielellä"
|
||||
|
||||
#: cps/templates/user_edit.html:41
|
||||
#: cps/templates/user_edit.html:43
|
||||
msgid "Show all"
|
||||
msgstr "Näytä kaikki"
|
||||
|
||||
#: cps/templates/user_edit.html:51
|
||||
#: cps/templates/user_edit.html:53
|
||||
msgid "OAuth Settings"
|
||||
msgstr "OAuth asetukset"
|
||||
|
||||
#: cps/templates/user_edit.html:53
|
||||
#: cps/templates/user_edit.html:55
|
||||
msgid "Link"
|
||||
msgstr "Linkitä"
|
||||
|
||||
#: cps/templates/user_edit.html:55
|
||||
#: cps/templates/user_edit.html:57
|
||||
msgid "Unlink"
|
||||
msgstr "Poista linkitys"
|
||||
|
||||
#: cps/templates/user_edit.html:123
|
||||
#: cps/templates/user_edit.html:125
|
||||
msgid "Delete this user"
|
||||
msgstr "Poista tämä käyttäjä"
|
||||
|
||||
#: cps/templates/user_edit.html:138
|
||||
#: cps/templates/user_edit.html:140
|
||||
msgid "Recent Downloads"
|
||||
msgstr "Viimeisimmät lataukset"
|
||||
|
||||
|
@ -3493,3 +3501,9 @@ msgstr "Viimeisimmät lataukset"
|
|||
#~ msgid "Zaza"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Show Calibre-Web log"
|
||||
#~ msgstr "Näytä Calibre-Web loki"
|
||||
|
||||
#~ msgid "Show access log"
|
||||
#~ msgstr "Näytä pääsyloki"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -20,7 +20,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Calibre-Web\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-12 13:57+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-08-21 15:20+0100\n"
|
||||
"Last-Translator: Nicolas Roudninski <nicoroud@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -73,7 +73,7 @@ msgstr "Configuration de Calibre-Web mise à jour"
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Configuration principale"
|
||||
|
||||
#: cps/admin.py:465 cps/web.py:1093
|
||||
#: cps/admin.py:465 cps/web.py:1090
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "SVP, complétez tous les champs !"
|
||||
|
||||
|
@ -82,7 +82,7 @@ msgstr "SVP, complétez tous les champs !"
|
|||
msgid "Add new user"
|
||||
msgstr "Ajouter un nouvel utilisateur"
|
||||
|
||||
#: cps/admin.py:476 cps/web.py:1318
|
||||
#: cps/admin.py:476 cps/web.py:1315
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
|
||||
|
||||
|
@ -126,16 +126,16 @@ 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:612 cps/web.py:1359
|
||||
#: cps/admin.py:612 cps/web.py:1356
|
||||
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:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1334
|
||||
#: cps/admin.py:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1331
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr "Éditer l'utilisateur %(nick)s"
|
||||
|
||||
#: cps/admin.py:622 cps/web.py:1327
|
||||
#: cps/admin.py:622 cps/web.py:1324
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
|
@ -153,63 +153,63 @@ msgstr "Oups ! Une erreur inconnue a eu lieu."
|
|||
msgid "Password for user %(user)s reset"
|
||||
msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé"
|
||||
|
||||
#: cps/admin.py:660 cps/web.py:1118 cps/web.py:1174
|
||||
#: cps/admin.py:660 cps/web.py:1115 cps/web.py:1171
|
||||
msgid "An unknown error occurred. Please try again later."
|
||||
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
|
||||
|
||||
#: cps/admin.py:663 cps/web.py:1062
|
||||
#: cps/admin.py:663 cps/web.py:1059
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Veuillez configurer les paramètres SMTP au préalable…"
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr "Visualiseur de fichier journal"
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Demander une mise à jour"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Téléchargement la mise à jour"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Décompression de la mise à jour"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Remplacement des fichiers"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Connexion à la base de donnée fermée"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Arrêt du serveur"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
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:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "La mise à jour a échoué :"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "Erreur HTTP"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Erreur de connexion"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 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:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Erreur générale"
|
||||
|
||||
|
@ -605,7 +605,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:1011
|
||||
#: cps/web.py:1009
|
||||
msgid "Read Books"
|
||||
msgstr "Livres lus"
|
||||
|
||||
|
@ -614,7 +614,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:1015
|
||||
#: cps/web.py:1013
|
||||
msgid "Unread Books"
|
||||
msgstr "Livres non-lus"
|
||||
|
||||
|
@ -736,7 +736,7 @@ msgstr "Livres"
|
|||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Livres populaires (les plus téléchargés)"
|
||||
|
||||
#: cps/web.py:586 cps/web.py:1382 cps/web.py:1478
|
||||
#: cps/web.py:586 cps/web.py:1379 cps/web.py:1475
|
||||
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 :"
|
||||
|
||||
|
@ -804,128 +804,128 @@ msgid "Tasks"
|
|||
msgstr "Tâches"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:829 cps/web.py:831
|
||||
#: cps/templates/layout.html:45 cps/web.py:827 cps/web.py:829
|
||||
msgid "Search"
|
||||
msgstr "Chercher"
|
||||
|
||||
#: cps/web.py:881
|
||||
#: cps/web.py:879
|
||||
msgid "Published after "
|
||||
msgstr "Publié après le "
|
||||
|
||||
#: cps/web.py:888
|
||||
#: cps/web.py:886
|
||||
msgid "Published before "
|
||||
msgstr "Publié avant le "
|
||||
|
||||
#: cps/web.py:902
|
||||
#: cps/web.py:900
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Évaluation <= %(rating)s"
|
||||
|
||||
#: cps/web.py:904
|
||||
#: cps/web.py:902
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Évaluation >= %(rating)s"
|
||||
|
||||
#: cps/web.py:970 cps/web.py:982
|
||||
#: cps/web.py:968 cps/web.py:980
|
||||
msgid "search"
|
||||
msgstr "recherche"
|
||||
|
||||
#: cps/web.py:1067
|
||||
#: cps/web.py:1064
|
||||
#, 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:1071
|
||||
#: cps/web.py:1068
|
||||
#, 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:1073
|
||||
#: cps/web.py:1070
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Veuillez configurer votre adresse de courriel Kindle en premier lieu…"
|
||||
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1084
|
||||
msgid "E-Mail server is not configured, please contact your administrator!"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1088 cps/web.py:1094 cps/web.py:1119 cps/web.py:1123
|
||||
#: cps/web.py:1128 cps/web.py:1132
|
||||
#: cps/web.py:1085 cps/web.py:1091 cps/web.py:1116 cps/web.py:1120
|
||||
#: cps/web.py:1125 cps/web.py:1129
|
||||
msgid "register"
|
||||
msgstr "s’enregistrer"
|
||||
|
||||
#: cps/web.py:1121
|
||||
#: cps/web.py:1118
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription"
|
||||
|
||||
#: cps/web.py:1124
|
||||
#: cps/web.py:1121
|
||||
msgid "Confirmation e-mail was send to your e-mail account."
|
||||
msgstr "Le courriel de confirmation a été envoyé à votre adresse."
|
||||
|
||||
#: cps/web.py:1127
|
||||
#: cps/web.py:1124
|
||||
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:1144
|
||||
#: cps/web.py:1141
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr "Impossible d’activer l’authentification LDAP"
|
||||
|
||||
#: cps/web.py:1154 cps/web.py:1281
|
||||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "vous êtes maintenant connecté sous : '%(nickname)s'"
|
||||
|
||||
#: cps/web.py:1159
|
||||
#: cps/web.py:1156
|
||||
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:1163 cps/web.py:1186
|
||||
#: cps/web.py:1160 cps/web.py:1183
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Mauvais nom d'utilisateur ou mot de passe"
|
||||
|
||||
#: cps/web.py:1170
|
||||
#: cps/web.py:1167
|
||||
msgid "New Password was send to your email address"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1173
|
||||
msgid "Please enter valid username to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1182
|
||||
#: cps/web.py:1179
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
|
||||
|
||||
#: cps/web.py:1189 cps/web.py:1213
|
||||
#: cps/web.py:1186 cps/web.py:1210
|
||||
msgid "login"
|
||||
msgstr "connexion"
|
||||
|
||||
#: cps/web.py:1225 cps/web.py:1259
|
||||
#: cps/web.py:1222 cps/web.py:1256
|
||||
msgid "Token not found"
|
||||
msgstr "Jeton non trouvé"
|
||||
|
||||
#: cps/web.py:1234 cps/web.py:1267
|
||||
#: cps/web.py:1231 cps/web.py:1264
|
||||
msgid "Token has expired"
|
||||
msgstr "Jeton expiré"
|
||||
|
||||
#: cps/web.py:1243
|
||||
#: cps/web.py:1240
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Réussite! Merci de vous tourner vers votre appareil"
|
||||
|
||||
#: cps/web.py:1320 cps/web.py:1363 cps/web.py:1369
|
||||
#: cps/web.py:1317 cps/web.py:1360 cps/web.py:1366
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "Profil de %(name)s"
|
||||
|
||||
#: cps/web.py:1365
|
||||
#: cps/web.py:1362
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil mis à jour"
|
||||
|
||||
#: cps/web.py:1394 cps/web.py:1397 cps/web.py:1400 cps/web.py:1407
|
||||
#: cps/web.py:1412
|
||||
#: cps/web.py:1391 cps/web.py:1394 cps/web.py:1397 cps/web.py:1404
|
||||
#: cps/web.py:1409
|
||||
msgid "Read a Book"
|
||||
msgstr "Lire un livre"
|
||||
|
||||
#: cps/web.py:1423
|
||||
#: cps/web.py:1420
|
||||
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."
|
||||
|
||||
|
@ -1112,7 +1112,7 @@ msgstr "Oui"
|
|||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:92
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:131
|
||||
#: cps/templates/user_edit.html:133
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
|
@ -1225,7 +1225,7 @@ msgstr "Date de publication"
|
|||
msgid "Publisher"
|
||||
msgstr "Editeur"
|
||||
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:30
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:31
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
|
@ -1252,7 +1252,7 @@ msgstr "Obtenir les métadonnées"
|
|||
#: cps/templates/book_edit.html:173 cps/templates/config_edit.html:329
|
||||
#: cps/templates/config_view_edit.html:146 cps/templates/login.html:20
|
||||
#: cps/templates/search_form.html:170 cps/templates/shelf_edit.html:17
|
||||
#: cps/templates/user_edit.html:129
|
||||
#: cps/templates/user_edit.html:131
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
|
@ -1605,35 +1605,35 @@ msgstr "Mots clés pour contenue pour adulte"
|
|||
msgid "Default settings for new users"
|
||||
msgstr "Réglages par défaut pour les nouveaux utilisateurs"
|
||||
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:84
|
||||
msgid "Admin user"
|
||||
msgstr "Utilisateur admin"
|
||||
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:93
|
||||
msgid "Allow Downloads"
|
||||
msgstr "Permettre les téléchargements"
|
||||
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:97
|
||||
msgid "Allow book viewer"
|
||||
msgstr "Autoriser le visionneur de livres"
|
||||
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:101
|
||||
msgid "Allow Uploads"
|
||||
msgstr "Permettre le téléversement de fichiers"
|
||||
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:105
|
||||
msgid "Allow Edit"
|
||||
msgstr "Permettre l'édition"
|
||||
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109
|
||||
msgid "Allow Delete books"
|
||||
msgstr "Autoriser la suppression des livres"
|
||||
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:114
|
||||
msgid "Allow Changing Password"
|
||||
msgstr "Permettre le changement de mot de passe"
|
||||
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:116
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:118
|
||||
msgid "Allow Editing Public Shelfs"
|
||||
msgstr "Autoriser la modification d’étagères publiques"
|
||||
|
||||
|
@ -1641,11 +1641,11 @@ msgstr "Autoriser la modification d’étagères publiques"
|
|||
msgid "Default visibilities for new users"
|
||||
msgstr "Mode de visualisation par défaut pour les nouveaux utilisateurs"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:74
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
msgstr "Montrer aléatoirement des livres dans la vue détaillée"
|
||||
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:87
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:89
|
||||
msgid "Show mature content"
|
||||
msgstr "Montrer le contenu pour adulte"
|
||||
|
||||
|
@ -1924,13 +1924,21 @@ msgstr ""
|
|||
msgid "Log in with magic link"
|
||||
msgstr "Se connecter avec le (\"magic link\")"
|
||||
|
||||
#: cps/templates/logviewer.html:5
|
||||
msgid "Show Calibre-Web log"
|
||||
msgstr "Afficher le journal Calibre-Web"
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Show access log"
|
||||
msgstr "Afficher le journal des accès"
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
msgid "Calibre-Web ebook catalog"
|
||||
|
@ -2224,31 +2232,31 @@ msgstr "Réinitialiser le mot de passe de l’utilisateur"
|
|||
msgid "Kindle E-Mail"
|
||||
msgstr "Adresse de courriel Kindle"
|
||||
|
||||
#: cps/templates/user_edit.html:39
|
||||
#: cps/templates/user_edit.html:41
|
||||
msgid "Show books with language"
|
||||
msgstr "Montrer les livres dans la langue"
|
||||
|
||||
#: cps/templates/user_edit.html:41
|
||||
#: cps/templates/user_edit.html:43
|
||||
msgid "Show all"
|
||||
msgstr "Montrer tout"
|
||||
|
||||
#: cps/templates/user_edit.html:51
|
||||
#: cps/templates/user_edit.html:53
|
||||
msgid "OAuth Settings"
|
||||
msgstr "Réglages OAuth"
|
||||
|
||||
#: cps/templates/user_edit.html:53
|
||||
#: cps/templates/user_edit.html:55
|
||||
msgid "Link"
|
||||
msgstr "Relier"
|
||||
|
||||
#: cps/templates/user_edit.html:55
|
||||
#: cps/templates/user_edit.html:57
|
||||
msgid "Unlink"
|
||||
msgstr "Dissocier"
|
||||
|
||||
#: cps/templates/user_edit.html:123
|
||||
#: cps/templates/user_edit.html:125
|
||||
msgid "Delete this user"
|
||||
msgstr "Supprimer cet utilisateur"
|
||||
|
||||
#: cps/templates/user_edit.html:138
|
||||
#: cps/templates/user_edit.html:140
|
||||
msgid "Recent Downloads"
|
||||
msgstr "Téléchargement récent"
|
||||
|
||||
|
@ -2267,3 +2275,9 @@ msgstr "Téléchargement récent"
|
|||
#~ msgid "New Books"
|
||||
#~ msgstr "Nouveaux livres"
|
||||
|
||||
#~ msgid "Show Calibre-Web log"
|
||||
#~ msgstr "Afficher le journal Calibre-Web"
|
||||
|
||||
#~ msgid "Show access log"
|
||||
#~ msgstr "Afficher le journal des accès"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2020-01-12 13:57+0100\n"
|
||||
"POT-Creation-Date: 2020-02-01 15:02+0100\n"
|
||||
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: hu\n"
|
||||
|
@ -60,7 +60,7 @@ msgstr "A Calibre-Web konfigurációja frissítve."
|
|||
msgid "Basic Configuration"
|
||||
msgstr "Alapvető beállítások"
|
||||
|
||||
#: cps/admin.py:465 cps/web.py:1093
|
||||
#: cps/admin.py:465 cps/web.py:1090
|
||||
msgid "Please fill out all fields!"
|
||||
msgstr "Az összes mezőt ki kell tölteni!"
|
||||
|
||||
|
@ -69,7 +69,7 @@ msgstr "Az összes mezőt ki kell tölteni!"
|
|||
msgid "Add new user"
|
||||
msgstr "Új felhasználó hozzáadása"
|
||||
|
||||
#: cps/admin.py:476 cps/web.py:1318
|
||||
#: cps/admin.py:476 cps/web.py:1315
|
||||
msgid "E-mail is not from valid domain"
|
||||
msgstr "Az e-mail tartománya nem érvényes."
|
||||
|
||||
|
@ -113,16 +113,16 @@ msgstr "A felhasználó törölve: %(nick)s"
|
|||
msgid "No admin user remaining, can't delete user"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:612 cps/web.py:1359
|
||||
#: cps/admin.py:612 cps/web.py:1356
|
||||
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:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1334
|
||||
#: cps/admin.py:616 cps/admin.py:630 cps/admin.py:644 cps/web.py:1331
|
||||
#, python-format
|
||||
msgid "Edit User %(nick)s"
|
||||
msgstr " A felhasználó szerkesztése: %(nick)s"
|
||||
|
||||
#: cps/admin.py:622 cps/web.py:1327
|
||||
#: cps/admin.py:622 cps/web.py:1324
|
||||
msgid "This username is already taken"
|
||||
msgstr ""
|
||||
|
||||
|
@ -140,63 +140,63 @@ msgstr "Ismeretlen hiba történt."
|
|||
msgid "Password for user %(user)s reset"
|
||||
msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása"
|
||||
|
||||
#: cps/admin.py:660 cps/web.py:1118 cps/web.py:1174
|
||||
#: cps/admin.py:660 cps/web.py:1115 cps/web.py:1171
|
||||
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:663 cps/web.py:1062
|
||||
#: cps/admin.py:663 cps/web.py:1059
|
||||
msgid "Please configure the SMTP mail settings first..."
|
||||
msgstr "Először be kell állítani az SMTP levelező beállításokat..."
|
||||
|
||||
#: cps/admin.py:674
|
||||
#: cps/admin.py:675
|
||||
msgid "Logfile viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/admin.py:710
|
||||
#: cps/admin.py:714
|
||||
msgid "Requesting update package"
|
||||
msgstr "Frissítési csomag kérése"
|
||||
|
||||
#: cps/admin.py:711
|
||||
#: cps/admin.py:715
|
||||
msgid "Downloading update package"
|
||||
msgstr "Frissítési csomag letöltése"
|
||||
|
||||
#: cps/admin.py:712
|
||||
#: cps/admin.py:716
|
||||
msgid "Unzipping update package"
|
||||
msgstr "Frissítési csomag kitömörítése"
|
||||
|
||||
#: cps/admin.py:713
|
||||
#: cps/admin.py:717
|
||||
msgid "Replacing files"
|
||||
msgstr "Fájlok cserélése"
|
||||
|
||||
#: cps/admin.py:714
|
||||
#: cps/admin.py:718
|
||||
msgid "Database connections are closed"
|
||||
msgstr "Adatbázis kapcsolatok lezárva"
|
||||
|
||||
#: cps/admin.py:715
|
||||
#: cps/admin.py:719
|
||||
msgid "Stopping server"
|
||||
msgstr "Szerver leállítása"
|
||||
|
||||
#: cps/admin.py:716
|
||||
#: cps/admin.py:720
|
||||
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:717 cps/admin.py:718 cps/admin.py:719 cps/admin.py:720
|
||||
#: cps/admin.py:721 cps/admin.py:722 cps/admin.py:723 cps/admin.py:724
|
||||
msgid "Update failed:"
|
||||
msgstr "A frissítés nem sikerült:"
|
||||
|
||||
#: cps/admin.py:717 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
#: cps/admin.py:721 cps/updater.py:272 cps/updater.py:457 cps/updater.py:459
|
||||
msgid "HTTP Error"
|
||||
msgstr "HTTP hiba"
|
||||
|
||||
#: cps/admin.py:718 cps/updater.py:274 cps/updater.py:461
|
||||
#: cps/admin.py:722 cps/updater.py:274 cps/updater.py:461
|
||||
msgid "Connection error"
|
||||
msgstr "Kapcsolódási hiba"
|
||||
|
||||
#: cps/admin.py:719 cps/updater.py:276 cps/updater.py:463
|
||||
#: cps/admin.py:723 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:720 cps/updater.py:278 cps/updater.py:465
|
||||
#: cps/admin.py:724 cps/updater.py:278 cps/updater.py:465
|
||||
msgid "General error"
|
||||
msgstr "Általános hiba"
|
||||
|
||||
|
@ -592,7 +592,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:1011
|
||||
#: cps/web.py:1009
|
||||
msgid "Read Books"
|
||||
msgstr "Olvasott könyvek"
|
||||
|
||||
|
@ -601,7 +601,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:1015
|
||||
#: cps/web.py:1013
|
||||
msgid "Unread Books"
|
||||
msgstr "Olvasatlan könyvek"
|
||||
|
||||
|
@ -723,7 +723,7 @@ msgstr ""
|
|||
msgid "Hot Books (most downloaded)"
|
||||
msgstr "Kelendő könyvek (legtöbbet letöltöttek)"
|
||||
|
||||
#: cps/web.py:586 cps/web.py:1382 cps/web.py:1478
|
||||
#: cps/web.py:586 cps/web.py:1379 cps/web.py:1475
|
||||
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:"
|
||||
|
||||
|
@ -791,128 +791,128 @@ msgid "Tasks"
|
|||
msgstr "Feladatok"
|
||||
|
||||
#: cps/templates/feed.xml:33 cps/templates/layout.html:44
|
||||
#: cps/templates/layout.html:45 cps/web.py:829 cps/web.py:831
|
||||
#: cps/templates/layout.html:45 cps/web.py:827 cps/web.py:829
|
||||
msgid "Search"
|
||||
msgstr "Keresés"
|
||||
|
||||
#: cps/web.py:881
|
||||
#: cps/web.py:879
|
||||
msgid "Published after "
|
||||
msgstr "Kiadva ezután: "
|
||||
|
||||
#: cps/web.py:888
|
||||
#: cps/web.py:886
|
||||
msgid "Published before "
|
||||
msgstr "Kiadva ezelőtt: "
|
||||
|
||||
#: cps/web.py:902
|
||||
#: cps/web.py:900
|
||||
#, python-format
|
||||
msgid "Rating <= %(rating)s"
|
||||
msgstr "Értékelés <= %(rating)s"
|
||||
|
||||
#: cps/web.py:904
|
||||
#: cps/web.py:902
|
||||
#, python-format
|
||||
msgid "Rating >= %(rating)s"
|
||||
msgstr "Értékelés <= %(rating)s"
|
||||
|
||||
#: cps/web.py:970 cps/web.py:982
|
||||
#: cps/web.py:968 cps/web.py:980
|
||||
msgid "search"
|
||||
msgstr "keresés"
|
||||
|
||||
#: cps/web.py:1067
|
||||
#: cps/web.py:1064
|
||||
#, 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:1071
|
||||
#: cps/web.py:1068
|
||||
#, 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:1073
|
||||
#: cps/web.py:1070
|
||||
msgid "Please configure your kindle e-mail address first..."
|
||||
msgstr "Először be kell állítani a kindle e-mail címet..."
|
||||
|
||||
#: cps/web.py:1087
|
||||
#: cps/web.py:1084
|
||||
msgid "E-Mail server is not configured, please contact your administrator!"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1088 cps/web.py:1094 cps/web.py:1119 cps/web.py:1123
|
||||
#: cps/web.py:1128 cps/web.py:1132
|
||||
#: cps/web.py:1085 cps/web.py:1091 cps/web.py:1116 cps/web.py:1120
|
||||
#: cps/web.py:1125 cps/web.py:1129
|
||||
msgid "register"
|
||||
msgstr "regisztrálás"
|
||||
|
||||
#: cps/web.py:1121
|
||||
#: cps/web.py:1118
|
||||
msgid "Your e-mail is not allowed to register"
|
||||
msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése"
|
||||
|
||||
#: cps/web.py:1124
|
||||
#: cps/web.py:1121
|
||||
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:1127
|
||||
#: cps/web.py:1124
|
||||
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:1144
|
||||
#: cps/web.py:1141
|
||||
msgid "Cannot activate LDAP authentication"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1154 cps/web.py:1281
|
||||
#: cps/web.py:1151 cps/web.py:1278
|
||||
#, python-format
|
||||
msgid "you are now logged in as: '%(nickname)s'"
|
||||
msgstr "Be vagy jelentkezve mint: %(nickname)s"
|
||||
|
||||
#: cps/web.py:1159
|
||||
#: cps/web.py:1156
|
||||
msgid "Could not login. LDAP server down, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1163 cps/web.py:1186
|
||||
#: cps/web.py:1160 cps/web.py:1183
|
||||
msgid "Wrong Username or Password"
|
||||
msgstr "Rossz felhasználó név vagy jelszó!"
|
||||
|
||||
#: cps/web.py:1170
|
||||
#: cps/web.py:1167
|
||||
msgid "New Password was send to your email address"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1176
|
||||
#: cps/web.py:1173
|
||||
msgid "Please enter valid username to reset password"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1182
|
||||
#: cps/web.py:1179
|
||||
#, python-format
|
||||
msgid "You are now logged in as: '%(nickname)s'"
|
||||
msgstr ""
|
||||
|
||||
#: cps/web.py:1189 cps/web.py:1213
|
||||
#: cps/web.py:1186 cps/web.py:1210
|
||||
msgid "login"
|
||||
msgstr "belépés"
|
||||
|
||||
#: cps/web.py:1225 cps/web.py:1259
|
||||
#: cps/web.py:1222 cps/web.py:1256
|
||||
msgid "Token not found"
|
||||
msgstr "A token nem található."
|
||||
|
||||
#: cps/web.py:1234 cps/web.py:1267
|
||||
#: cps/web.py:1231 cps/web.py:1264
|
||||
msgid "Token has expired"
|
||||
msgstr "A token érvényessége lejárt."
|
||||
|
||||
#: cps/web.py:1243
|
||||
#: cps/web.py:1240
|
||||
msgid "Success! Please return to your device"
|
||||
msgstr "Sikerült! Újra használható az eszköz."
|
||||
|
||||
#: cps/web.py:1320 cps/web.py:1363 cps/web.py:1369
|
||||
#: cps/web.py:1317 cps/web.py:1360 cps/web.py:1366
|
||||
#, python-format
|
||||
msgid "%(name)s's profile"
|
||||
msgstr "%(name)s profilja"
|
||||
|
||||
#: cps/web.py:1365
|
||||
#: cps/web.py:1362
|
||||
msgid "Profile updated"
|
||||
msgstr "A profil frissítve."
|
||||
|
||||
#: cps/web.py:1394 cps/web.py:1397 cps/web.py:1400 cps/web.py:1407
|
||||
#: cps/web.py:1412
|
||||
#: cps/web.py:1391 cps/web.py:1394 cps/web.py:1397 cps/web.py:1404
|
||||
#: cps/web.py:1409
|
||||
msgid "Read a Book"
|
||||
msgstr "Egy olvasott könyv"
|
||||
|
||||
#: cps/web.py:1423
|
||||
#: cps/web.py:1420
|
||||
msgid "Error opening eBook. File does not exist or file is not accessible."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1099,7 +1099,7 @@ msgstr "OK"
|
|||
#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:92
|
||||
#: cps/templates/layout.html:28 cps/templates/shelf.html:73
|
||||
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:32
|
||||
#: cps/templates/user_edit.html:131
|
||||
#: cps/templates/user_edit.html:133
|
||||
msgid "Back"
|
||||
msgstr "Vissza"
|
||||
|
||||
|
@ -1212,7 +1212,7 @@ msgstr "Kiadás éve"
|
|||
msgid "Publisher"
|
||||
msgstr "Kiadó"
|
||||
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:30
|
||||
#: cps/templates/book_edit.html:103 cps/templates/user_edit.html:31
|
||||
msgid "Language"
|
||||
msgstr "Nyelv"
|
||||
|
||||
|
@ -1239,7 +1239,7 @@ msgstr "Metaadatok beszerzése"
|
|||
#: cps/templates/book_edit.html:173 cps/templates/config_edit.html:329
|
||||
#: cps/templates/config_view_edit.html:146 cps/templates/login.html:20
|
||||
#: cps/templates/search_form.html:170 cps/templates/shelf_edit.html:17
|
||||
#: cps/templates/user_edit.html:129
|
||||
#: cps/templates/user_edit.html:131
|
||||
msgid "Submit"
|
||||
msgstr "Küldés"
|
||||
|
||||
|
@ -1592,35 +1592,35 @@ msgstr "Felnőtt tartalom címkéi"
|
|||
msgid "Default settings for new users"
|
||||
msgstr "Új felhasználók alapértelmezett beállításai"
|
||||
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82
|
||||
#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:84
|
||||
msgid "Admin user"
|
||||
msgstr "Rendszergazda felhasználó"
|
||||
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91
|
||||
#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:93
|
||||
msgid "Allow Downloads"
|
||||
msgstr "Letöltés engedélyezése"
|
||||
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95
|
||||
#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:97
|
||||
msgid "Allow book viewer"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99
|
||||
#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:101
|
||||
msgid "Allow Uploads"
|
||||
msgstr "Feltöltés engedélyezése"
|
||||
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103
|
||||
#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:105
|
||||
msgid "Allow Edit"
|
||||
msgstr "Szerkesztés engedélyezése"
|
||||
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
|
||||
#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109
|
||||
msgid "Allow Delete books"
|
||||
msgstr "Könyv törlés engedélyezése"
|
||||
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112
|
||||
#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:114
|
||||
msgid "Allow Changing Password"
|
||||
msgstr "Jelszó változtatásának engedélyezése"
|
||||
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:116
|
||||
#: cps/templates/config_view_edit.html:109 cps/templates/user_edit.html:118
|
||||
msgid "Allow Editing Public Shelfs"
|
||||
msgstr "Nyilvános polcok szerkesztésének engedélyezése"
|
||||
|
||||
|
@ -1628,11 +1628,11 @@ msgstr "Nyilvános polcok szerkesztésének engedélyezése"
|
|||
msgid "Default visibilities for new users"
|
||||
msgstr "Új felhasználók alapértelmezett látható elemei"
|
||||
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:74
|
||||
#: cps/templates/config_view_edit.html:135 cps/templates/user_edit.html:76
|
||||
msgid "Show random books in detail view"
|
||||
msgstr "Mutasson könyveket találomra a részletes nézetben"
|
||||
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:87
|
||||
#: cps/templates/config_view_edit.html:139 cps/templates/user_edit.html:89
|
||||
msgid "Show mature content"
|
||||
msgstr "Mutassa a felnőtt tartalmat"
|
||||
|
||||
|
@ -1911,12 +1911,20 @@ msgstr ""
|
|||
msgid "Log in with magic link"
|
||||
msgstr "Belépés varázshivatkozással"
|
||||
|
||||
#: cps/templates/logviewer.html:5
|
||||
msgid "Show Calibre-Web log"
|
||||
#: cps/templates/logviewer.html:6
|
||||
msgid "Show Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Show access log"
|
||||
msgid "Calibre-Web log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:8
|
||||
msgid "Stream output, can't be displayed"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/logviewer.html:12
|
||||
msgid "Show access log: "
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/osd.xml:5
|
||||
|
@ -2211,31 +2219,31 @@ msgstr "Felhasználó jelszavának alaphelyzetbe állítása"
|
|||
msgid "Kindle E-Mail"
|
||||
msgstr "Kindle e-mail"
|
||||
|
||||
#: cps/templates/user_edit.html:39
|
||||
#: cps/templates/user_edit.html:41
|
||||
msgid "Show books with language"
|
||||
msgstr "Mutasd a könyveket a következő nyelvvel"
|
||||
|
||||
#: cps/templates/user_edit.html:41
|
||||
#: cps/templates/user_edit.html:43
|
||||
msgid "Show all"
|
||||
msgstr "Mindent mutass"
|
||||
|
||||
#: cps/templates/user_edit.html:51
|
||||
#: cps/templates/user_edit.html:53
|
||||
msgid "OAuth Settings"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/user_edit.html:53
|
||||
#: cps/templates/user_edit.html:55
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/user_edit.html:55
|
||||
#: cps/templates/user_edit.html:57
|
||||
msgid "Unlink"
|
||||
msgstr ""
|
||||
|
||||
#: cps/templates/user_edit.html:123
|
||||
#: cps/templates/user_edit.html:125
|
||||
msgid "Delete this user"
|
||||
msgstr "A felhasználó törlése"
|
||||
|
||||
#: cps/templates/user_edit.html:138
|
||||
#: cps/templates/user_edit.html:140
|
||||
msgid "Recent Downloads"
|
||||
msgstr "Utolsó letöltések"
|
||||
|
||||
|
@ -3463,3 +3471,9 @@ msgstr "Utolsó letöltések"
|
|||
#~ msgid "New Books"
|
||||
#~ msgstr "Új könyvek"
|
||||
|
||||
#~ msgid "Show Calibre-Web log"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Show access log"
|
||||
#~ msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user