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")
|
||||
|
|
|
@ -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;
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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