From 7640ac1b3b8c86175fc0c608925be0f620e990d3 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Wed, 1 Dec 2021 20:29:05 +0100 Subject: [PATCH 01/10] Books are removed from synced books upon archiving (from kobo or calibre-web side) unicode texts (title, author) are showing up right on kobo reader Added some missing kobo routes (prevents 404 response) Added a lot of debug output on kobo sync requests --- cps/kobo.py | 37 ++++++++++++++++++++++++------------- cps/web.py | 3 +++ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/cps/kobo.py b/cps/kobo.py index ee2317ba..3d2af7f4 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -22,6 +22,7 @@ import datetime import os import uuid from time import gmtime, strftime +import json try: from urllib import unquote @@ -102,6 +103,8 @@ def make_request_to_kobo_store(sync_token=None): allow_redirects=False, timeout=(2, 10) ) + log.debug("Content: " + str(store_response.content)) + log.debug("StatusCode: " + str(store_response.status_code)) return store_response @@ -110,7 +113,8 @@ def redirect_or_proxy_request(): if request.method == "GET": return redirect(get_store_url_for_current_request(), 307) else: - # The Kobo device turns other request types into GET requests on redirects, so we instead proxy to the Kobo store ourselves. + # The Kobo device turns other request types into GET requests on redirects, + # so we instead proxy to the Kobo store ourselves. store_response = make_request_to_kobo_store() response_headers = store_response.headers @@ -205,8 +209,8 @@ def HandleSyncRequest(): books = calibre_db.session.execute(changed_entries.limit(SYNC_ITEM_LIMIT)) else: books = changed_entries.limit(SYNC_ITEM_LIMIT) + log.debug("Books to Sync: {}".format(books.count())) for book in books: - kobo_sync_status.add_synced_books(book.Books.id) formats = [data.format for data in book.Books.data] if not 'KEPUB' in formats and config.config_kepubifypath and 'EPUB' in formats: helper.convert_book_format(book.Books.id, config.config_calibre_dir, 'EPUB', 'KEPUB', current_user.name) @@ -245,6 +249,7 @@ def HandleSyncRequest(): pass new_books_last_created = max(ts_created, new_books_last_created) + kobo_sync_status.add_synced_books(book.Books.id) if sqlalchemy_version2: max_change = calibre_db.session.execute(changed_entries @@ -330,9 +335,10 @@ def generate_sync_response(sync_token, sync_results, set_cont=False): extra_headers["x-kobo-sync"] = "continue" sync_token.to_headers(extra_headers) - # log.debug("Kobo Sync Content: {}".format(sync_results)) - response = make_response(jsonify(sync_results), extra_headers) - + log.debug("Kobo Sync Content: {}".format(sync_results)) + # jsonify decodes the unicode string different to what kobo expects + response = make_response(json.dumps(sync_results), extra_headers) + response.headers["Content-Type"] = "application/json; charset=utf-8" return response @@ -377,7 +383,7 @@ def get_download_url_for_book(book, book_format): def create_book_entitlement(book, archived): - book_uuid = book.uuid + book_uuid = str(book.uuid) return { "Accessibility": "Full", "ActivePeriod": {"From": convert_to_kobo_timestamp_string(datetime.datetime.now())}, @@ -404,7 +410,6 @@ def get_description(book): return book.comments[0].text -# TODO handle multiple authors def get_author(book): if not book.authors: return {"Contributors": None} @@ -412,10 +417,11 @@ def get_author(book): author_list = [] autor_roles = [] for author in book.authors: - autor_roles.append({"Name":author.name, "Role":"Author"}) + autor_roles.append({"Name":author.name}) #.encode('unicode-escape').decode('latin-1') author_list.append(author.name) return {"ContributorRoles": autor_roles, "Contributors":author_list} - return {"ContributorRoles": [{"Name":book.authors[0].name, "Role":"Author"}], "Contributors": book.authors[0].name} + return {"ContributorRoles": [{"Name":book.authors[0].name}], + "Contributors": book.authors[0].name} def get_publisher(book): @@ -472,9 +478,7 @@ def get_metadata(book): "IsSocialEnabled": True, "Language": "en", "PhoneticPronunciations": {}, - # TODO: Fix book.pubdate to return a datetime object so that we can easily - # convert it to the format Kobo devices expect. - "PublicationDate": book.pubdate, + "PublicationDate": convert_to_kobo_timestamp_string(book.pubdate), "Publisher": {"Imprint": "", "Name": get_publisher(book),}, "RevisionId": book_uuid, "Title": book.title, @@ -489,7 +493,7 @@ def get_metadata(book): "Number": get_seriesindex(book), # ToDo Check int() ? "NumberFloat": float(get_seriesindex(book)), # Get a deterministic id based on the series name. - "Id": uuid.uuid3(uuid.NAMESPACE_DNS, name), + "Id": str(uuid.uuid3(uuid.NAMESPACE_DNS, name)), } return metadata @@ -958,6 +962,8 @@ def HandleBookDeletionRequest(book_uuid): ub.session.merge(archived_book) ub.session_commit() + if archived_book.is_archived: + kobo_sync_status.remove_synced_book(book_id) return "", 204 @@ -986,11 +992,16 @@ def HandleUserRequest(dummy=None): @kobo.route("/v1/products//recommendations", methods=["GET", "POST"]) @kobo.route("/v1/products//nextread", methods=["GET", "POST"]) @kobo.route("/v1/products//reviews", methods=["GET", "POST"]) +@kobo.route("/v1/products/featured/", methods=["GET", "POST"]) +@kobo.route("/v1/products/featured/", methods=["GET", "POST"]) @kobo.route("/v1/products/books/external/", methods=["GET", "POST"]) @kobo.route("/v1/products/books/series/", methods=["GET", "POST"]) @kobo.route("/v1/products/books/", methods=["GET", "POST"]) +@kobo.route("/v1/products/books//", methods=["GET", "POST"]) @kobo.route("/v1/products/dailydeal", methods=["GET", "POST"]) +@kobo.route("/v1/products/deals", methods=["GET", "POST"]) @kobo.route("/v1/products", methods=["GET", "POST"]) +@kobo.route("/v1/affiliate", methods=["GET", "POST"]) def HandleProductsRequest(dummy=None): log.debug("Unimplemented Products Request received: %s", request.base_url) return redirect_or_proxy_request() diff --git a/cps/web.py b/cps/web.py index c061af30..82f86488 100644 --- a/cps/web.py +++ b/cps/web.py @@ -54,6 +54,7 @@ from .helper import check_valid_domain, render_task_status, check_email, check_u from .pagination import Pagination from .redirect import redirect_back from .usermanagement import login_required_if_no_ano +from .kobo_sync_status import remove_synced_book from .render_template import render_title_template feature_support = { @@ -206,6 +207,8 @@ def toggle_archived(book_id): archived_book.is_archived = True ub.session.merge(archived_book) ub.session_commit("Book {} archivebit toggled".format(book_id)) + if archived_book.is_archived: + remove_synced_book(book_id) return "" From 5ed3b1cf5351f4cb06f225b6c535bcb8c652b96c Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Wed, 1 Dec 2021 21:38:43 +0100 Subject: [PATCH 02/10] On master: Order of language count in /language (fixes #2200) --- cps/db.py | 27 ++++++++++++++++++--------- cps/isoLanguages.py | 1 + cps/templates/languages.html | 6 +++--- cps/web.py | 16 ++++------------ 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/cps/db.py b/cps/db.py index 4e76072d..70da9108 100644 --- a/cps/db.py +++ b/cps/db.py @@ -796,18 +796,27 @@ class CalibreDB(): return result[offset:limit_all], result_count, pagination # Creates for all stored languages a translated speaking name in the array for the UI - def speaking_language(self, languages=None, return_all_languages=False, reverse_order=False): + def speaking_language(self, languages=None, return_all_languages=False, with_count=False, reverse_order=False): from . import get_locale if not languages: - languages = self.session.query(Languages) \ - .join(books_languages_link) \ - .join(Books) \ - .filter(self.common_filters(return_all_languages=return_all_languages)) \ - .group_by(text('books_languages_link.lang_code')).all() - for lang in languages: - lang.name = isoLanguages.get_language_name(get_locale(), lang.lang_code) - return sorted(languages, key=lambda x: x.name, reverse=reverse_order) + if with_count: + languages = self.session.query(Languages, func.count('books_languages_link.book'))\ + .join(books_languages_link).join(Books)\ + .filter(self.common_filters(return_all_languages=return_all_languages)) \ + .group_by(text('books_languages_link.lang_code')).all() + for lang in languages: + lang[0].name = isoLanguages.get_language_name(get_locale(), lang[0].lang_code) + return sorted(languages, key=lambda x: x[0].name, reverse=reverse_order) + else: + languages = self.session.query(Languages) \ + .join(books_languages_link) \ + .join(Books) \ + .filter(self.common_filters(return_all_languages=return_all_languages)) \ + .group_by(text('books_languages_link.lang_code')).all() + for lang in languages: + lang.name = isoLanguages.get_language_name(get_locale(), lang.lang_code) + return sorted(languages, key=lambda x: x.name, reverse=reverse_order) def update_title_sort(self, config, conn=None): diff --git a/cps/isoLanguages.py b/cps/isoLanguages.py index e220f63e..50447aca 100644 --- a/cps/isoLanguages.py +++ b/cps/isoLanguages.py @@ -57,6 +57,7 @@ def get_language_name(locale, lang_code): return get_language_names(locale)[lang_code] except KeyError: log.error('Missing translation for language name: {}'.format(lang_code)) + return "Unknown" def get_language_codes(locale, language_names, remainder=None): diff --git a/cps/templates/languages.html b/cps/templates/languages.html index 771d77cf..8331cb94 100644 --- a/cps/templates/languages.html +++ b/cps/templates/languages.html @@ -21,9 +21,9 @@
{% endif %} -
-
{{lang_counter[loop.index0].bookcount}}
- +
+
{{lang[1]}}
+
{% endfor %}
diff --git a/cps/web.py b/cps/web.py index 82f86488..2cb92a09 100644 --- a/cps/web.py +++ b/cps/web.py @@ -1016,22 +1016,14 @@ def formats_list(): @login_required_if_no_ano def language_overview(): if current_user.check_visibility(constants.SIDEBAR_LANGUAGE) and current_user.filter_language() == u"all": - if current_user.get_view_property('language', 'dir') == 'desc': - order = db.Languages.lang_code.desc() - order_no = 0 - else: - order = db.Languages.lang_code.asc() - order_no = 1 + order_no = 0 if current_user.get_view_property('language', 'dir') == 'desc' else 1 charlist = list() - languages = calibre_db.speaking_language(reverse_order=not order_no) + languages = calibre_db.speaking_language(reverse_order=not order_no, with_count=True) for lang in languages: - upper_lang = lang.name[0].upper() + upper_lang = lang[0].name[0].upper() if upper_lang not in charlist: charlist.append(upper_lang) - lang_counter = calibre_db.session.query(db.books_languages_link, - func.count('books_languages_link.book').label('bookcount')).group_by( - text('books_languages_link.lang_code')).all() - return render_title_template('languages.html', languages=languages, lang_counter=lang_counter, + return render_title_template('languages.html', languages=languages, charlist=charlist, title=_(u"Languages"), page="langlist", data="language", order=order_no) else: From f4096b136ecf2c7eeee741a02741cd903ac3a86e Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 4 Dec 2021 10:57:53 +0100 Subject: [PATCH 03/10] Added chinese sign language (csl) to supported languages --- cps/iso_language_names.py | 1 + cps/translations/cs/LC_MESSAGES/messages.mo | Bin 39635 -> 39546 bytes cps/translations/cs/LC_MESSAGES/messages.po | 272 +++--- cps/translations/de/LC_MESSAGES/messages.mo | Bin 53698 -> 53605 bytes cps/translations/de/LC_MESSAGES/messages.po | 272 +++--- cps/translations/el/LC_MESSAGES/messages.mo | Bin 57858 -> 57741 bytes cps/translations/el/LC_MESSAGES/messages.po | 272 +++--- cps/translations/es/LC_MESSAGES/messages.mo | Bin 51420 -> 51330 bytes cps/translations/es/LC_MESSAGES/messages.po | 272 +++--- cps/translations/fi/LC_MESSAGES/messages.mo | Bin 27521 -> 27430 bytes cps/translations/fi/LC_MESSAGES/messages.po | 272 +++--- cps/translations/fr/LC_MESSAGES/messages.mo | Bin 53763 -> 53669 bytes cps/translations/fr/LC_MESSAGES/messages.po | 272 +++--- cps/translations/hu/LC_MESSAGES/messages.mo | Bin 25272 -> 25180 bytes cps/translations/hu/LC_MESSAGES/messages.po | 272 +++--- cps/translations/it/LC_MESSAGES/messages.mo | Bin 56390 -> 56299 bytes cps/translations/it/LC_MESSAGES/messages.po | 272 +++--- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 19949 -> 19843 bytes cps/translations/ja/LC_MESSAGES/messages.po | 272 +++--- cps/translations/km/LC_MESSAGES/messages.mo | Bin 24546 -> 24546 bytes cps/translations/km/LC_MESSAGES/messages.po | 270 +++--- cps/translations/nl/LC_MESSAGES/messages.mo | Bin 50584 -> 50497 bytes cps/translations/nl/LC_MESSAGES/messages.po | 272 +++--- cps/translations/pl/LC_MESSAGES/messages.mo | Bin 52511 -> 52413 bytes cps/translations/pl/LC_MESSAGES/messages.po | 272 +++--- .../pt_BR/LC_MESSAGES/messages.mo | Bin 47022 -> 46930 bytes .../pt_BR/LC_MESSAGES/messages.po | 272 +++--- cps/translations/ru/LC_MESSAGES/messages.mo | Bin 48070 -> 47969 bytes cps/translations/ru/LC_MESSAGES/messages.po | 272 +++--- cps/translations/sv/LC_MESSAGES/messages.mo | Bin 48854 -> 48760 bytes cps/translations/sv/LC_MESSAGES/messages.po | 272 +++--- cps/translations/tr/LC_MESSAGES/messages.mo | Bin 22880 -> 22790 bytes cps/translations/tr/LC_MESSAGES/messages.po | 272 +++--- cps/translations/uk/LC_MESSAGES/messages.mo | Bin 18028 -> 18028 bytes cps/translations/uk/LC_MESSAGES/messages.po | 270 +++--- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 48654 -> 48563 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 272 +++--- .../zh_Hant_TW/LC_MESSAGES/messages.mo | Bin 48977 -> 48886 bytes .../zh_Hant_TW/LC_MESSAGES/messages.po | 272 +++--- messages.pot | 270 +++--- test/Calibre-Web TestSummary_Linux.html | 897 +++++------------- 41 files changed, 3009 insertions(+), 3323 deletions(-) diff --git a/cps/iso_language_names.py b/cps/iso_language_names.py index 8bd9a0d3..697b7e22 100644 --- a/cps/iso_language_names.py +++ b/cps/iso_language_names.py @@ -7941,6 +7941,7 @@ LANGUAGE_NAMES = { "cre": "Cree", "crh": "Turkish; Crimean", "csb": "Kashubian", + "csl": "Chinese Sign Language", "cym": "Welsh", "dak": "Dakota", "dan": "Danish", diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo index efd55ce457763285f1b3aa18002502afc948b7fa..4c982ee78fe1f7cc8bf5020a8d8bc482f76c9715 100644 GIT binary patch delta 8963 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 yyL\n" "Language: cs_CZ\n" @@ -45,9 +45,9 @@ msgstr "Úspěšně obnovené připojení" msgid "Unknown command" msgstr "Neznámý příkaz" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Neznámý" @@ -304,7 +304,7 @@ msgstr "Nastavení e-mailového serveru aktualizováno" msgid "Database Configuration" msgstr "Konfigurace funkcí" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Vyplňte všechna pole!" @@ -349,7 +349,7 @@ msgstr "Upravit uživatele %(nick)s" msgid "User '%(nick)s' updated" msgstr "Uživatel '%(nick)s' aktualizován" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Neznámá chyba. Opakujte prosím později." @@ -384,7 +384,7 @@ msgstr "Nastavení e-mailového serveru aktualizováno" msgid "Password for user %(user)s reset" msgstr "Heslo pro uživatele %(user)s resetováno" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..." @@ -484,108 +484,108 @@ msgstr "není nakonfigurováno" msgid "Execution permissions missing" msgstr "Chybí povolení k exekuci" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Vlastní sloupec %(column)d neexistuje v databázi" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Formát knihy úspěšně smazán" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Kniha úspěšně smazána" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Jejda! Vybraná kniha není k dispozici. Soubor neexistuje nebo není přístupný" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "upravit metadata" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s není platným jazykem" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, 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" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Soubor, který má být odeslán musí mít příponu" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nepodařilo se vytvořit cestu %(path)s (oprávnění odepřeno)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Uložení souboru %(file)s se nezdařilo." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Chyba databáze: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formát souboru %(ext)s přidán do %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadata úspěšně aktualizována" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Chyba při úpravách knihy, zkontrolujte prosím log pro podrobnosti" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Nahraná kniha pravděpodobně existuje v knihovně, zvažte prosím změnu před nahráním nové: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Soubor %(filename)s nemohl být uložen do dočasného adresáře" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Nepodařilo se přesunout soubor obalu %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Soubor %(file)s nahrán" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Chybí zdrojový nebo cílový formát pro převod" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kniha byla úspěšně zařazena do fronty pro převod do %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Při převodu této knihy došlo k chybě: %(res)s" @@ -693,7 +693,7 @@ msgstr "Soubor %(file)s nenalezen na Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu." @@ -775,7 +775,7 @@ msgstr "Kobo nastavení" msgid "Register with %(provider)s" msgstr "Registrovat s %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "nyní jste přihlášen jako: '%(nickname)s'" @@ -840,8 +840,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Přihlásit" @@ -857,7 +857,7 @@ msgstr "Token vypršel" msgid "Success! Please return to your device" msgstr "Úspěch! Vraťte se prosím do zařízení" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Knihy" @@ -882,7 +882,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Nejlépe hodnocené knihy" @@ -891,7 +891,7 @@ msgid "Show Top Rated Books" msgstr "Zobrazit nejlépe hodnocené knihy" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Přečtené knihy" @@ -900,7 +900,7 @@ msgid "Show read and unread" msgstr "Zobrazit prečtené a nepřečtené" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Nepřečtené knihy" @@ -918,7 +918,7 @@ msgid "Show Random Books" msgstr "Zobrazit náhodné knihy" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategorie" @@ -928,7 +928,7 @@ msgstr "Zobrazit výběr kategorie" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Série" @@ -946,7 +946,7 @@ msgid "Show author selection" msgstr "Zobrazit výběr autora" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Vydavatelé" @@ -956,7 +956,7 @@ msgstr "Zobrazit výběr vydavatele" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Jazyky" @@ -980,7 +980,7 @@ msgstr "Formáty souborů" msgid "Show file formats selection" msgstr "Zobrazit výběr formátů" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Archivované knihy" @@ -988,7 +988,7 @@ msgstr "Archivované knihy" msgid "Show archived books" msgstr "Zobrazit archivované knihy" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1043,7 +1043,7 @@ msgstr "Kniha byla odebrána z police: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Vytvořit polici" @@ -1127,177 +1127,177 @@ msgstr "Nová aktualizace k dispozici. Klepnutím na tlačítko níže aktualizu msgid "No release information available" msgstr "Nejsou k dispozici žádné informace o verzi" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Objevte (Náhodné knihy)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Žhavé knihy (Nejstahovanější)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Autoři: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Vydavatel: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Série: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Hodnocení: %(rating)s stars" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Soubor formátů: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategorie: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Jazyky: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Rozšířené hledání" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Hledat" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Stáhnutí" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Seznam hodnocení" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Seznam formátů" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Úlohy" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Vydáno po " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Vydáno před " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Hodnocení <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Hodnocení >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Při odesílání této knihy došlo k chybě: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Nejprve nakonfigurujte vaši kindle e-mailovou adresu.." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "E-mailový server není nakonfigurován, kontaktujte svého správce!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registrovat" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Váš e-mail nemá povolení k registraci" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Potvrzovací e-mail byl odeslán na váš účet." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Nelze aktivovat ověření LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Záložní přihlášení jako: ‘%(nickname)s’, server LDAP není dosažitelný nebo neznámý uživatel" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Nelze se přihlásit: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Špatné uživatelské jméno nebo heslo" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Nové heslo bylo zasláno na vaši emailovou adresu" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Zadejte platné uživatelské jméno pro obnovení hesla" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Nyní jste přihlášeni jako: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s profil" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profil aktualizován" @@ -1358,7 +1358,7 @@ msgstr "E-mail" msgid "Send to Kindle E-mail Address" msgstr "Poslat do Kindle e-mailová adresa" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Správce" @@ -1368,7 +1368,7 @@ msgstr "Správce" msgid "Password" msgstr "Heslo" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Nahrávat" @@ -1560,7 +1560,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1658,13 +1658,13 @@ msgstr "Převést knihu" msgid "Book Title" msgstr "Název knihy" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Popis" @@ -1672,15 +1672,15 @@ msgstr "Popis" msgid "Identifiers" msgstr "Identifikátory" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Typy identifikátorů" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Hodnota identifikátorů" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Odstranit" @@ -1701,90 +1701,90 @@ msgstr "ID série" msgid "Rating" msgstr "Hodnocení" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Adresa URL obalu (jpg, obal je stažen a uložen v databázi, pole je potom opět prázdné)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Nahrát obal z místní jednotky" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Datum vydání" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Vydavatel" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Jazyk" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Ano" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Ne" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Nahrát formát" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Zobrazit knihu po uložení" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Získat metadata" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Uložit" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Klíčové slovo" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr "Hledat klíčové slovo" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Kliknutím na obal načtěte metadata do formuláře" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Načítání..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Zavřít" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Zdroj" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Chyba vyhledávání!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Nebyly nalezeny žádné výsledky! Zadejte jiné klíčové slovo." @@ -1989,6 +1989,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Povolit nahrávání" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Povolené nahrávání formátů souborů" @@ -2350,7 +2354,7 @@ msgid "Add to shelf" msgstr "Přidat do police" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Veřejné)" @@ -2425,7 +2429,7 @@ msgstr "Zadejte jméno domény" msgid "Denied Domains (Blacklist)" msgstr "Zakázané domény pro registraci" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Další" @@ -2536,7 +2540,7 @@ msgstr "Knihy řazené podle hodnocení" msgid "Books ordered by file formats" msgstr "Knihy seřazené podle souboru formátů" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Police" @@ -2557,48 +2561,48 @@ msgstr "Přepnout navigaci" msgid "Search Library" msgstr "Hledat v knihovně" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Nahrávání..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Chyba" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Nahrávání hotovo, zpracovávám, čekejte prosím..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Nastavení" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Účet" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Odhlásit se" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Prosím neobnovujte stránku" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Procházet" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "O knihovně" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Předchozí" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Podrobnosti o knize" diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index b7c0207f3363ee0af804c72aa387d8e1e571a59b..59794715b454b54109df8fd6662a8eca2cc5ee56 100644 GIT binary patch delta 11663 zcmYM(2Xt0N8piQUDue_`LJ~sS7f2uhLLd3MU7r~6uv*F1;+ zocC~?NSqt0-v9sOpX4~T=>}kBY=SkgAL{w{FbF@g{e$SDe-)GQZ!C#5YdTJ6Ov5fX z1M4}C+bO1z&OkIzdt+B@f_dnROVATnV;HW(s(1+f@CPh|56~YyYdKDNEQfk79yQ(; z^;~z`ABf(p?~J6OiQcfjje4*U%i?lW09#Q3?nDLhF>2=*QP15%&GQJAnG&R}5=LVH zW}=>NhauP(BUs-VO+yjR#frEb_27O?!Sh%OJ?LoMAC=M=RGAObg|GVvL@@DggFC#VU6>zXr-Mg`mg$+q(v zD!`RkA1@&PbxNn1BWsF!KO3n>=LJl}NonLigvJI2y5b=W!*D86M^PKqZ-WY?KStpM z`}+s>_uaOC9(5!?qBisd<1vJDQKlN8=530~be@|=0u335Yq2Gs#Xt;UJ9@AxhGPyY zpnli~$Jzc>)B+Dt*YqiB$F2ru!Ri=9zXdY2(+yR$?m0BHz)IBF9mDeYHR^@Cs6hV4 zOe{xbDb*cOx514%vMH!4FGR}3S%#YLE2Ms%Td3zMG&1wYBhR~?`ZQEL*_ef$Q1^Br zst6BaB;G&;D= zHpEcO#2C!QiZ~jhaSkf5ZK#xgg?j&r^$u#`2dIF&GRzT&Vn_N-Fb4~RMdAM8&wk>um%o9Rrh>UCJ&;XyMwxR_pt(cHzoht zX*3O;RUK5STcCE_54GR~)B;mcsa}RUs?E0lJ8B*e24gTBm8p8DKyon_C!;pF3N`<_ zEb^}u9c4ffeT|jz9;(`do0-6pFoJ$#)ERb1?c^2I^?k!yhzfWus#dn4Zox5BCNH4Y zyNa6sUNiEqiAps$3q_$KuZfDVEo#TFpe7oHnqV?2kh!SLtw0^gc2uAzQ8iF(e}8}q zz`KPBFbH+Tk!~8AAOW>dJ=@PlZ~EO(sqcllR-;g<-iVFyh}DCSh62dM6zqc9;WShx zR-yvmg<9t%KD+p}|JO;Ej8A?TMq%|tw zT&#w#Vo98bURZ>FxDu0e|2NUl5nRFA_%qhWm^R!9?2e`JJ=BqWfI9mXsKB527Q~>QT89SpEnu036_fWO70F|MY7>37Cfn7x%`8{MlxAT;S zCM=z6zF>i9jSQH>v7#9CN@F5Hd$!RA~-eGekKn=e-v)Pf^049B7}Q;1q{IjWdf+5Rb1O`Ji^ z_bb-K)E7Al-T%Hcs5hqwwWIr(gYi8~YKI`F;Ecs!{2aBDo2W0_BXr?ER#%=$eI_cf zeyC!84Kr~yDxllw){aZ}G&^sIN%ZqE8sE45eHcOi4z@tAUM3^0F^zr!DkGnw0y=^! z+B2wYcG>!){r$hF40-k@|JqSPZ&MTvQD>Ngiu?uC?|o6lGZMA)skXle_523Zb30MR zcnY=fm#AVZM%B)JERTO!1Nykl1C{z1ld%F1G(;6qXFHyU+Tp9H1%{xid@Snu0@Q*_ zQ44Iwig?ua|BXud15}18^fk}Lx@qXax>yA}U{xHAO3^aZLdQ@U_#Cy98@B%=X48L) zEwOn&6UYnF7FH}b@*u?f*pw70t9e)KC z;1JY8<4`-Cih6D~Dq~A+e?98R_MoTk|6v;S7&wmg(Rs;4*Z?(A7J6YD)Q&o!Hx5EA zFbtJ?w{;e3BTG>WZ9;8ej~zdN3iKQX=>C6aANT>Q@x!mE>k=`*9L@7siT*&;gzusP znU7j%3r67q^uepB=ZaAa{eq$RC+Y};UN)(Z!&KIH>d{aN^Dz#`pmtt_k+{Z=A4MI> z52z2%U)GRUOmQWl7U+P!*bkMtL3Vs7mZU!!m9cm5+28-)r=f5CHq?$zq9*zVUHAj4 zSo{W>0Af(jr=kMML46#|2T}8UgDU!;29ke0;QOkXFdUVMWGsmd z&oysD#e>^e>W=7!>H7r!dUzkC zn`>Q!&lbkgjIY90xCQkk{1Y3a|G&(0tucsx2h^v%KWansP)BeIb=$6^irigsh)GRb zjAmdo*2V>>$WNgHxQE*LLsY=dP_qLsYbcgwIKi5Z<>+VIemAT|e;_Jzi?NLE{|Xv< zaVsi?hfu|F5_PR^po*)+Fms)vP{maZ^?Vk(uoW_)GYDgFtnDvG?Q|XLsIQ>j^L|aY zi}UxV5x_tqR>d^zguT!occ3CZgwIlldj2{F;xDLM;0!nSz5*)XO4i1xBkhiQu9tO` z)cv1DLy@mRRsAkh$`7D2a10f|4g33D)PxUE0X#t+P3hOo*@t2&`iZD&PelcuhnnYg z)ckLtTdAH*Lua}Km7?WX1y5rT-bd}&YlOMKL8v0CiW={OD$XIOg~y=+oPyfebkuW; zP^n*o<#5vo@~;OEFrXbAMfK040{Rja&?Qu6N{loa@v|o2v=aQK1nctqg;Ay!d`Fu< zOA=7mupcT@Q&3;j1?a*Zqsf008ecJ>2t&s34-;4!U&VK^B|gSB*kr6p-Mg4gzYvwu z?@$@IftB$d*2Lg(CWB2;ndpoau|Mjzx!pAMV3GadEQZp*gAw=->Z~H(FagG*7D`4< z*Z`HvR;bLqh{{xN)B*#oQ&C5`27_@QYF+m^8VNN1vJX@lZ&F+j;~4LXRq+i}hE}0= zxDCtW*Vqd0qRzJN1T)?Ub)+3p3+ACRH4HWH7$l=^r-+79e%IQGBgv)z33kHJiRN#| zgD{o;r|81pFdBm=nLmzGuqpjEsLag5C@ex{a6hUB4x=*mCHm_A-=q=Az|W{1`As&F z#-LJG6*WP9)N>iABgn&89Edv8cTm;;A*vX+U>e@WIvDe&>37Dq^k-l?>pS1kP-@D* zWj;8O_#FL2)I>c|3(rIT>ulqHw6nA+#?GifhNBDTVP)KfF?bpE{(mtZ!wO6$8lhVg zwWCoT^HDongdw;ZtKi323%|!282mQ>+7&ZU#X1}H`&v{czD0fM9$;_upKAV$$wy!M z3o!+kO(p*-l8X!|(rc(<`5T*J&@>ZiXRJ;CWz>-@Lfwvy_V<&hg)gH5dx*+li|M8a z$DuY>fGXlb%)({U$-j!Cn1OVBgyk^#9kYWBR6iH>+(3LD$6+%(joNwHcTH7ipfdLo zw$yW|VmxBUzd&XD4r*Q>_YBhr!ww82pms7A8{s@um0v_Z{0)8ZFI0-XW}3`JqB7DD z6EPR7;bbg{A7KFQLT%(IDggJ_H1y(aRLVSOQQ4S|J#ap1!r!qBM!jdMyaxKyuZx;E z3w5>~?07eH(I0>c;BC~--@}@?32W&7U!{@EfZuHMV13ksSy&1CU^u>o6|e|Z#k*10 z^(vOa-%!Q+6cuRYLQ@MVsEoad%H(uR!FBlT-~U~qq5J7K$4rocn($>z!eOX|mtqj^ zL1pAK`};#wfR*Q(qici;EEg4MzI6`jn(oD5{0<{^|L@rW|9R#*xls2t4RtFzp(1}B zb+6~30@#gO;6GR%edn7qjYQQ@lI>@s7VL(qnS9iIQ_x+G#wr?`U?(bdr%`A7t?l1J zW#A!(VwnZz`FK=n>th^dVk!}=FVi`+Ca zXzWB?pGT1pqA)Gzbh(ZJx~h`!3tP_&*4%# z?*5X7uFYLkF$FC%MU;*j&p}n~P>jGr9EF=u6IEGmcJ?Cb`Qca{7h?(@#~gfur7>%T z`O~x=QhRQvGYwt00jS7_qP}z^%mdCutV(}2s@V3TGIbC=@g%mwGZ>CxE6tJBMrCk5 zs+LxvGO`y{D`zm2^_^=p6!Alh!Pr$M1DRNfen-^VjX+iR4Aj{l!c6=ewX@*WX2BTL z29i+ErK2*Jjheqd>PX(g_N?!`Pop{hgl#e9Lv#NpqKa+_YJ%;k$j_sS?LXKMpJEo) zTVpaY9u@FOjK%BN13lK7`Fmj;{g3e3{r`eS0s}WtFZ!=D_cIQg(eI1CxCZs&W>g?w zVoAJZ`}a`qmsoF(G91;9#=2M+^?p98mMrpPLw=8HzXHvoNb2&xuFZY2NJXiQ@u8h6+qE}~L@3$=r% zsIx5pkvWPuRIz1XB6deD@D_UF4Aci`Hnzgk_V=4s1b1yd4|k zPpJD{eXE(cH+H1I8g;M#KowQ>ZKm3%;t2Y4Pz#pYZZegC%1krVd~H!hIT^WKZf6yZ zU z{UKOZ_kS`C1yE@H5KGhFhg#@3s`!4lmf3A;A<;W!hOk+oPIzd{vTiGAi;RYL_*8?}*4R3NRf z6ZSwA=~mQpkM@y&HGDocACyp3@g$&9)Dk1GJ!+!CsFaRJ1vD3x`c0^v9!Bl-EC%9D z)I5)|3_APG!evq8G5g7X0F49&G(lZdKNGcscBuQ@4Kpwg_02CrrTRK*qC2SP?_+KJ z6E$DbCnmsj)Y-Q|Www_cAMCaR6VaO=W}tR3$Bu8n5c+#i3!cLy{2Cje*Qe$WsSK<| zzaMJhxmXdGqB6G+_2v7_`UNUr_qQ}uL^m)3@1b5OeZc&&8Hr8k*G4@z40ZP7QJGqY z)o?c^;`dhngXW&s#c0NJF&#&tYHkbizS}uPLp%Ql74cQn4*o!;%=3^b!cf#iX{Z|L zf|@8Fm5~Db`wmoXT*UJDGb*DVht2a9Q8kl_&;I|vmiC7{)Po~27H47%ZozoGfO_!} zDnoupOg{p3G|8BQX;>d8VFK<)W#}d<&~iu3KLIsHmz#lnJ1`TKqEAo@KSEu%&|~I{ zmW4XQv6zgLY=0}Ny7!$YEvUi2TMcK#G~3%pL4g#vIi{czL~6k-QlgWmWAb%g(%;QSlX2t8^3(0KtP z=@+8LH)B=&3AN+$r%Ww0!vy*-p=x3#YT}Pj-;?dA0FR(<&q-7u*HAU~J1T%Or^&z0 zI{vizV6?=V^t)jxoQldop>;Lt#XYFN&Z9E*7^5)mGxK~?R3M$v2VcVKI2d*R7h)o= zcGJ*==dlsq!fF_I#=O`L^1-`mKcDYP)E=geQ^?Mo@usUh?;LPDkFRF z*^wXtxt(h?()i&%>fR=vHxp%{Qr8+QV@LGBk*Ed7pl-`T)Y*QHF1&@h#=aL!hGJ0H zwio*0a4d}z(90RXzYw6I)XYMqYz6AU9d`TxYG+@dYT`2LHWXX$ppNJ#`+Ml;Cbce9 sZDrw{=aZu5)JrPZUYt}m$1f$R)^o1fwd&VN-Tv3e10}W>kG_`sKRWPeGXMYp delta 11761 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 diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index 808fcb04..192f10f5 100644 --- a/cps/translations/de/LC_MESSAGES/messages.po +++ b/cps/translations/de/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2021-08-01 17:24+0200\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" @@ -46,9 +46,9 @@ msgstr "Erfolgreich neu verbunden" msgid "Unknown command" msgstr "Unbekannter Befehl" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Unbekannt" @@ -298,7 +298,7 @@ msgstr "Einstellungen des E-Mail-Servers aktualisiert" msgid "Database Configuration" msgstr "Datenbank-Konfiguration" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Bitte alle Felder ausfüllen!" @@ -342,7 +342,7 @@ msgstr "Benutzer %(nick)s bearbeiten" msgid "User '%(nick)s' updated" msgstr "Benutzer '%(nick)s' aktualisiert" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." @@ -377,7 +377,7 @@ msgstr "Einstellungen des E-Mail-Servers aktualisiert" msgid "Password for user %(user)s reset" msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..." @@ -477,108 +477,108 @@ msgstr "Nicht konfiguriert" msgid "Execution permissions missing" msgstr "Ausführeberechtigung fehlt" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Benutzerdefinierte Spalte Nr. %(column)d ist nicht in Calibre Datenbank vorhanden" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Buch Format erfolgreich gelöscht" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Buch erfolgreich gelöscht" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s ist keine gültige Zahl, Eintrag wird ignoriert" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s ist keine gültige Sprache" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Dateiendung '%(ext)s' kann nicht auf diesen Server hochgeladen werden" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Fehler beim Speichern der Datei %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Datenbankfehler: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDs unterscheiden nicht Groß-Kleinschreibung, alte ID wird überschrieben" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadaten wurden erfolgreich aktualisiert" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Fehler beim Editieren des Buchs, Details im Logfile" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Das hochgeladene Buch existiert evtl. schon in der Bibliothek: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Die Datei %(filename)s konnte nicht im temporären Ordner gespeichert werden" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Fehler beim Verschieben der Cover Datei %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Datei %(file)s hochgeladen" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Quell- oder Zielformat für Konvertierung fehlt" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Buch wurde erfolgreich für die Konvertierung nach %(book_format)s eingereiht" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Es trat ein Fehler beim Konvertieren des Buches auf: %(res)s" @@ -686,7 +686,7 @@ msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden" msgid "Book path %(path)s not found on Google Drive" msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse" @@ -767,7 +767,7 @@ msgstr "Kobo Setup" msgid "Register with %(provider)s" msgstr "Anmelden mit %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Du bist nun eingeloggt als '%(nickname)s'" @@ -832,8 +832,8 @@ msgstr "Google Oauth Fehler: {}" msgid "{} Stars" msgstr "{} Sterne" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Login" @@ -849,7 +849,7 @@ msgstr "Token ist abgelaufen" msgid "Success! Please return to your device" msgstr "Erfolg! Bitte zum Gerät zurückkehren" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Bücher" @@ -874,7 +874,7 @@ msgstr "Heruntergeladene Bücher" msgid "Show Downloaded Books" msgstr "Zeige heruntergeladene Bücher" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Best bewertete Bücher" @@ -883,7 +883,7 @@ msgid "Show Top Rated Books" msgstr "Bestbewertete Bücher anzeigen" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Gelesene Bücher" @@ -892,7 +892,7 @@ msgid "Show read and unread" msgstr "Zeige gelesene/ungelesene Bücher" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Ungelesene Bücher" @@ -910,7 +910,7 @@ msgid "Show Random Books" msgstr "Zeige zufällige Bücher" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategorien" @@ -920,7 +920,7 @@ msgstr "Zeige Kategorienauswahl" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Serien" @@ -938,7 +938,7 @@ msgid "Show author selection" msgstr "Zeige Autorenauswahl" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Verleger" @@ -948,7 +948,7 @@ msgstr "Zeige Verlegerauswahl" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Sprachen" @@ -972,7 +972,7 @@ msgstr "Dateiformate" msgid "Show file formats selection" msgstr "Zeige Dateiformatauswahl" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Archivierte Bücher" @@ -980,7 +980,7 @@ msgstr "Archivierte Bücher" msgid "Show archived books" msgstr "Zeige archivierte Bücher" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Bücherliste" @@ -1034,7 +1034,7 @@ msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Bücherregal erzeugen" @@ -1117,177 +1117,177 @@ msgstr "Ein neues Update ist verfügbar. Klicke auf den Button unten, um auf Ver msgid "No release information available" msgstr "Keine Releaseinformationen verfügbar" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Entdecke (Zufällige Bücher)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Beliebte Bücher (am meisten Downloads)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Von %(user)s heruntergeladene Bücher" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Author: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Verleger: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Bewertung: %(rating)s Sterne" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Dateiformat: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategorie: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Sprache: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Erweiterte Suche" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Suche" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Bewertungsliste" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Liste der Dateiformate" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Aufgaben" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Herausgegeben nach dem " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Herausgegeben vor dem " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Bewertung <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Bewertung >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Lesestatus = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Fehler bei der Suche nach eigenen Spalten, bitte Calibre-Web neustarten" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Bitte zuerst die Kindle E-Mailadresse konfigurieren..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registrieren" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Eine Bestätigungs-E-Mail wurde an deinen E-Mail Account versendet." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "LDAP-Authentifizierung kann nicht aktiviert werden" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Rückfall Login als: '%(nickname)s', LDAP Server ist nicht erreichbar, oder der Nutzer ist unbekannt" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Login nicht erfolgreich: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Falscher Benutzername oder Passwort" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Eingeloggt als: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's Profil" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profil aktualisiert" @@ -1348,7 +1348,7 @@ msgstr "E-Mail" msgid "Send to Kindle E-mail Address" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1358,7 +1358,7 @@ msgstr "Admin" msgid "Password" msgstr "Passwort" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Upload" @@ -1549,7 +1549,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1647,13 +1647,13 @@ msgstr "Konvertiere Buch" msgid "Book Title" msgstr "Buchtitel" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Beschreibung" @@ -1661,15 +1661,15 @@ msgstr "Beschreibung" msgid "Identifiers" msgstr "IDs" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "ID Typ" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "ID Wert" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Entfernen" @@ -1690,90 +1690,90 @@ msgstr "Serien ID" msgid "Rating" msgstr "Bewertung" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Cover-URL (jpg, Cover wird heruntergeladen und in der Datenbank gespeichert, Feld erscheint anschließend wieder leer)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Coverdatei von Lokalem Laufwerk hochladen" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Herausgabedatum" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Herausgeber" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Sprache" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Nein" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Format hochladen" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Buch nach Bearbeitung ansehen" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Metadaten laden" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Speichern" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Suchbegriff" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Suchbegriff " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Klicke auf das Bild, um die Metadaten zu übertragen" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Lade..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Schließen" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Quelle" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Fehler bei der Suche!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen." @@ -1977,6 +1977,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Hochladen aktivieren" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Erlaubte Dateiformate zum Hochladen" @@ -2338,7 +2342,7 @@ msgid "Add to shelf" msgstr "Zu Bücherregal hinzufügen" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Öffentlich)" @@ -2413,7 +2417,7 @@ msgstr "Domainnamen eingeben" msgid "Denied Domains (Blacklist)" msgstr "Verbotene Domains für eine Registrierung" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Nächste" @@ -2523,7 +2527,7 @@ msgstr "Bücher nach Bewertungen sortiert" msgid "Books ordered by file formats" msgstr "Bücher nach Dateiformaten sortiert" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Bücherregale" @@ -2544,48 +2548,48 @@ msgstr "Nagivation umschalten" msgid "Search Library" msgstr "Bibiliothek durchsuchen" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Lade hoch..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Fehler" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Hochladen beendet, verarbeite Daten, bitte warten..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Einstellungen" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Logout" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Bitte die Seite nicht neu laden" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Durchsuchen" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Über" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Vorheriger Eintrag" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Buchdetails" diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo index 066c68c548c15550a7e5eced6924b6fc5bcac03a..01b37b8c3434e6fec70aad199d7373908e7ec3f2 100644 GIT binary patch delta 9535 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 %(rating)s" msgstr "Αξιολόγηση >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Oυπς! Υπήρξε ένα σφάλμα κατά την αποστολή αυτού του βιβλίου: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Παρακαλούμε ενημέρωσε το προφίλ σου με μια έγκυρη Διεύθυνση E-mail Αποστολής στο Kindle." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Εγγραφή" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να εγγραφεί" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Εναλλακτική Σύνδεση ως: '%(nickname)s', Ο Διακομιστής LDAP δεν είναι προσβάσιμος, ή ο χρήστης δεν είναι γνωστός" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Δεν μπόρεσε να συνδεθεί: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Έχεις συνδεθεί ως: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's προφίλ" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Το προφίλ ενημερώθηκε" @@ -1358,7 +1358,7 @@ msgstr "Διεύθυνση E-mail" msgid "Send to Kindle E-mail Address" msgstr "Διεύθυνση E-mail Αποστολής στο Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Διαχειριστής" @@ -1368,7 +1368,7 @@ msgstr "Διαχειριστής" msgid "Password" msgstr "Κωδικός" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Ανέβασμα" @@ -1560,7 +1560,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1658,13 +1658,13 @@ msgstr "Μετατροπή βιβλίου" msgid "Book Title" msgstr "Τίτλος Βιβλίου" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Συγγραφέας" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Περιγραφή" @@ -1672,15 +1672,15 @@ msgstr "Περιγραφή" msgid "Identifiers" msgstr "Αναγνωριστικά" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Είδος Αναγνωριστικού" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Τιμή Αναγνωριστικού" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Αφαίρεση" @@ -1701,90 +1701,90 @@ msgstr "Ταυτότητα Σειράς" msgid "Rating" msgstr "Αξιολόγηση" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Συγκέντρωση Εξώφυλλου από URL (JPEG - Η εικόνα θα κατέβει και θα αποθηκευτεί σε βάση δεδομένων)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Ανέβασμα Εξώφυλλου από Τοπικό Δίσκο" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Ημερομηνία Έκδοσης" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Εκδότης" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Γλώσσα" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Ναι" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Όχι" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Μορφή Ανεβάσματος" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Προβολή Βιβλίου σε Αποθήκευση" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Συγκέντρωση Μεταδεδομένων" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Αποθήκευση" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Λέξη κλειδί" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr "Αναζήτηση λέξης κλειδιού" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Κάνε κλικ στο εξώφυλλο για φόρτωση μεταδεδομένων στη φόρμα" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Φόρτωση..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Κλείσιμο" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Πηγή" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Σφάλμα αναζήτησης!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Δεν βρέθηκε(αν) αποτέλεσμα(τα)! Παρακαλούμε δοκίμασε μια άλλη λέξη κλειδί." @@ -1989,6 +1989,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Ενεργοποίηση Ανεβάσματος" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Επιτρεπόμενες Μορφές Αρχείων για Ανέβασμα" @@ -2350,7 +2354,7 @@ msgid "Add to shelf" msgstr "Προσθήκη στο ράφι" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Δημόσιο)" @@ -2425,7 +2429,7 @@ msgstr "Όνομα domain" msgid "Denied Domains (Blacklist)" msgstr "Domains που Απορρίφθηκαν (Μαύρη λίστα)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Επόμενο" @@ -2536,7 +2540,7 @@ msgstr "Τα βιβλία ταξινομήθηκαν ανά Αξιολόγηση msgid "Books ordered by file formats" msgstr "Τα βιβλία ταξινομήθηκαν ανά μορφές αρχείου" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Ράφια" @@ -2557,48 +2561,48 @@ msgstr "Αλλαγή Θέσης Περιήγησης" msgid "Search Library" msgstr "Αναζήτηση Βιβλιοθήκης" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Φόρτωση..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Σφάλμα" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Το ανέβασμα έγινε, γίνεται επεξεργασία, παρακαλούμε περίμενε..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Ρυθμίσεις" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Λογαριασμός" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Αποσύνδεση" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Παρακαλούμε μην ανανεώσεις τη σελίδα" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Περιήγηση" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Σχετικά" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Προηγούμενο" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Λεπτομέρειες Βιβλίου" diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo index 4c9a8b5354c5ce76cca614e7bd490ec715e5f635..f3e46184cd697c34543cd4a51c8bab917c062f31 100644 GIT binary patch delta 11067 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 delta 11155 zcmYk=3w+OI|Htt!vxA-3*o+Oo&CG@wo6|Je<}leXBqWD9&17>f?&7;p4kgJkhn!bA zggKWSDy9(KZg<=%QGZGj#lIxnulKI&@%aCHsONQEzwht5KG)}SU0-X{7kFJ<;N^ZB zT4}MvKbtE$P83cIQ}6%&IoZ&0n$bOl_3#lk#(Is+^SKyHzYs(5O*_63J@h}uB>W!z zuo_?PjZyfNr-!ns%jU&jVmg8ujg2IB<`#2>Lb z-bFp<-^7e3qn>M5-gh0R8x1YkA2m^)bueJM5 zvM~||Vm{{JF(ms=HR>3R?N9;bp&L$PCJnOhtU#6jIM&2((Fgy;0DOd1F@UI4k|
    aQVw zCPv~ytdHAJ89IlW_#!IBe_%Y;BwF2$Obo$%)aO%B>#lHVXrbMhho@{msg;>H3w7{eRwa`=y#bua^n^6=052{4IT&3z5fqE_x6+k*>U{6%Z-9M&@&!muV=qZ=xbx zi<)pJR>4E4_rPh?f>j=K9Lns}#%kCDb?Am;T^xnAa4y!tji^9AMV0CrYW|z$Qvbhb zXdxfMQUKwo+Qs7&*aJ1;3e*?(pceet_RCP2Ig7d#-=VJSkEl%jhPtl4ZB41GqEa7^ z39Rq*rlFL%s0ZIc?QA_a8SQ9I!n+?@N zZJ-ru-OlOMU#ZP!KoL(zo$>{!309&Od>{421E^A+vi)yR3*JO!;6AEE-W+i~A7YI` z9r6@ZhEh?7yhny>Qt}D|B*9r_y@;w^WTtrqH%0AaC~BuuQ31Yz3Va&d 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 diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index fee74d1f..549d4dc4 100644 --- a/cps/translations/es/LC_MESSAGES/messages.po +++ b/cps/translations/es/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2020-05-25 17:22+0200\n" "Last-Translator: minakmostoles \n" "Language: es\n" @@ -49,9 +49,9 @@ msgstr "Reconexión correcta" msgid "Unknown command" msgstr "Comando desconocido" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Desconocido" @@ -308,7 +308,7 @@ msgstr "Actualizados los ajustes del servidor de correo electrónico" msgid "Database Configuration" msgstr "Configuración de la base de datos" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "¡Por favor, rellena todos los campos!" @@ -353,7 +353,7 @@ msgstr "Editar Usuario %(nick)s" msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." @@ -388,7 +388,7 @@ msgstr "Actualizados los ajustes del servidor de correo electrónico" msgid "Password for user %(user)s reset" msgstr "Contraseña para el usuario %(user)s reinicializada" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Configura primero los parámetros del servidor SMTP..." @@ -488,108 +488,108 @@ msgstr "no configurado" msgid "Execution permissions missing" msgstr "Faltan permisos de ejecución" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Columna personalizada No.%(column)d no existe en la base de datos calibre" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "oh, oh, el libro seleccionado no está disponible. El archivo no existe o no es accesible" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex) no es un número válido, saltando" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s no es un idioma válido" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "No se permite subir archivos con la extensión '%(ext)s' a este servidor" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo al crear la ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Fallo al guardar el archivo %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Error en la base de datos: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Archivo con formato %(ext)s añadido a %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Los identificadores no distinguen entre mayúsculas y minúsculas, sobrescribiendo el identificador antiguo" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadatos actualizados con éxito" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Error al editar el libro, por favor, compruebe el archivo de registro (logfile) para tener más detalles" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "El libro cargado probablemente existe en la biblioteca, considera cambiarlo antes de subirlo de nuevo: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "El archivo %(filename)s no pudo salvarse en el directorio temporal (Temp Dir)" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Fallo al mover el archivo de cubierta %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "El fichero %(file)s ha sido subido" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Falta la fuente o el formato de destino para la conversión" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro puesto a la cola para su conversión a %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocurrió un error al convertir este libro: %(res)s" @@ -697,7 +697,7 @@ msgstr "Fichero %(file)s no encontrado en Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "La ruta %(path)s del libro no fue encontrada en Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico" @@ -779,7 +779,7 @@ msgstr "Configuración de Kobo" msgid "Register with %(provider)s" msgstr "Registrado con %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "has iniciado sesión como : '%(nickname)s'" @@ -844,8 +844,8 @@ msgstr "Error Google Oauth {}" msgid "{} Stars" msgstr "{} Estrellas" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Inicio de sesión" @@ -861,7 +861,7 @@ msgstr "El token ha expirado" msgid "Success! Please return to your device" msgstr "¡Correcto! Por favor regrese a su dispositivo" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Libros" @@ -886,7 +886,7 @@ msgstr "Libros Descargados" msgid "Show Downloaded Books" msgstr "Mostrar Libros Descargados" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Libros mejor valorados" @@ -895,7 +895,7 @@ msgid "Show Top Rated Books" msgstr "Mostrar libros mejor valorados" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Libros leídos" @@ -904,7 +904,7 @@ msgid "Show read and unread" msgstr "Mostrar leídos y no leídos" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Libros no leídos" @@ -922,7 +922,7 @@ msgid "Show Random Books" msgstr "Mostrar libros al azar" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Categorías" @@ -932,7 +932,7 @@ msgstr "Mostrar selección de categorías" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Series" @@ -950,7 +950,7 @@ msgid "Show author selection" msgstr "Mostrar selección de autores" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Editores" @@ -960,7 +960,7 @@ msgstr "Mostrar selección de editores" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Idiomas" @@ -984,7 +984,7 @@ msgstr "Formatos de archivo" msgid "Show file formats selection" msgstr "Mostrar selección de formatos de archivo" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Libros archivados" @@ -992,7 +992,7 @@ msgstr "Libros archivados" msgid "Show archived books" msgstr "Mostrar libros archivados" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Lista de Libros" @@ -1047,7 +1047,7 @@ msgstr "El libro fue eliminado del estante: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Crear un estante" @@ -1131,177 +1131,177 @@ msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo msgid "No release information available" msgstr "No hay información del lanzamiento disponible" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Descubrir (Libros al azar)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Libros populares (los más descargados)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Libros descargados por %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Autor/es: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Editor/es: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Series: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Calificación: %(rating)s estrellas" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Formato del archivo: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Categoría : %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Idioma: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Búsqueda avanzada" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Buscar" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Descargas" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Lista de calificaciones" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Lista de formatos" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Tareas" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Publicado después de " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Publicado antes de " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Calificación <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Calificación >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Estado de lectura = $(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Error en la búsqueda de columnas personalizadas, por favor reinicia Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, 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:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! 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:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Por favor actualiza tu perfil con la dirección de correo de su kindle..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "El servidor de correo no está configurado, por favor, ¡avisa a tu administrador!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registro" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Su correo electrónico no está permitido para registrarse" -#: cps/web.py:1523 +#: cps/web.py:1518 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." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "No se puede activar la autenticación LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback login como: '%(nickname)s', no se puede acceder al servidor LDAP o usuario desconocido" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "No se pudo entrar: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Usuario o contraseña inválido" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Una nueva contraseña se ha enviado a su cuenta de correo electrónico" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Por favor, introduce un usuario válido para restablecer la contraseña" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Ahora estás conectado como: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Perfil de %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Perfil actualizado" @@ -1362,7 +1362,7 @@ msgstr "Correo electrónico" msgid "Send to Kindle E-mail Address" msgstr "Enviar al correo de Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1372,7 +1372,7 @@ msgstr "Admin" msgid "Password" msgstr "Contraseña" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Subir archivo" @@ -1564,7 +1564,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1662,13 +1662,13 @@ msgstr "Convertir libro" msgid "Book Title" msgstr "Título del libro" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Descripción" @@ -1676,15 +1676,15 @@ msgstr "Descripción" msgid "Identifiers" msgstr "Identificadores" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Tipo de identificador" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Valor de identificador" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Borrar" @@ -1705,90 +1705,90 @@ msgstr "ID de serie" msgid "Rating" msgstr "Clasificación" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Obtener portada de URL (JPEG, la portada ser'a descargada y almacenada en la base de datos)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Subir portada desde un disco local" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Fecha de publicación" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editor" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Idioma" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Sí" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Subir formato" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Ver libro tras la edición" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Obtener metadatos" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Guardar" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Palabra clave" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Buscar por palabras clave " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Haz clic en la portada para cargar los metadatos en el formulario" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Cerrar" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Origen" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "¡Error en la búsqueda!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "¡No se encontraron resultados! Por favor intenta con otra palabra clave." @@ -1993,6 +1993,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Permitir subidas" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Formatos de archivo permitidos para subida" @@ -2354,7 +2358,7 @@ msgid "Add to shelf" msgstr "Agregar al estante" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Público)" @@ -2429,7 +2433,7 @@ msgstr "Introducir nombre de dominio" msgid "Denied Domains (Blacklist)" msgstr "Dominios prohibidos (Blaclist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Siguiente" @@ -2540,7 +2544,7 @@ msgstr "Libros ordenados por puntuación" msgid "Books ordered by file formats" msgstr "Libros ordenados por formato de archivo" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Estanterías" @@ -2561,48 +2565,48 @@ msgstr "Alternar navegación" msgid "Search Library" msgstr "Buscar en la librería" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Cargando..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Error" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Carga hecha, procesando, por favor espere ..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Ajustes" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Cuenta" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Cerrar sesión" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Por favor, no actualice la página" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Navegar" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Acerca de" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Previo" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Detalles del libro" diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo index bf9771a25e71dfc2d8b6ea6e419f24f8739418ab..e0e7ec8b462a9ca5ba87eb80b45ac97d024c1d06 100644 GIT binary patch delta 6739 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 delta 6826 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 TuPUqZR+N`jme\n" "Language: fi\n" @@ -46,9 +46,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Tuntematon" @@ -304,7 +304,7 @@ msgstr "Sähköpostipalvelimen tiedot päivitetty" msgid "Database Configuration" msgstr "Ominaisuuksien asetukset" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Ole hyvä ja täytä kaikki kentät!" @@ -349,7 +349,7 @@ msgstr "Muokkaa käyttäjää %(nick)s" msgid "User '%(nick)s' updated" msgstr "Käyttäjä '%(nick)s' päivitetty" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." @@ -384,7 +384,7 @@ msgstr "Sähköpostipalvelimen tiedot päivitetty" msgid "Password for user %(user)s reset" msgstr "Käyttäjän %(user)s salasana palautettu" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..." @@ -482,108 +482,108 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Virhe eKirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla:" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "muokkaa metadataa" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s ei ole kelvollinen kieli" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Tiedostopääte '%(ext)s' ei ole sallittujen palvelimelle ladattavien listalla" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Ladattavalla tiedostolla on oltava tiedostopääte" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Tiedoston %(file)s tallennus epäonnistui." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadata päivitetty onnistuneesti" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Kirjan editoinnissa tapahtui virhe, tarkista virheilmoitus lokista" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Tiedosto %(file)s tallennettu" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Lähteen tai kohteen tiedostomuoto puuttuu" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s" @@ -691,7 +691,7 @@ msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta" msgid "Book path %(path)s not found on Google Drive" msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus." @@ -773,7 +773,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "Rekisteröi tuottajalle %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\"" @@ -838,8 +838,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Kirjaudu sisään" @@ -855,7 +855,7 @@ msgstr "Valtuutus vanhentunut" msgid "Success! Please return to your device" msgstr "Onnistui! Ole hyvä ja palaa laitteellesi" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Kirjat" @@ -880,7 +880,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Parhaiten arvioidut kirjat" @@ -889,7 +889,7 @@ msgid "Show Top Rated Books" msgstr "Näytä parhaiten arvioidut kirjat" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Luetut kirjat" @@ -898,7 +898,7 @@ msgid "Show read and unread" msgstr "Näytä luetut ja lukemattomat" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Lukemattomat kirjat" @@ -916,7 +916,7 @@ msgid "Show Random Books" msgstr "Näytä satunnausia kirjoja" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategoriat" @@ -926,7 +926,7 @@ msgstr "Näytä kategoriavalinta" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Sarjat" @@ -944,7 +944,7 @@ msgid "Show author selection" msgstr "Näytä kirjailijavalinta" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Julkaisijat" @@ -954,7 +954,7 @@ msgstr "Näytä julkaisijavalinta" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Kielet" @@ -978,7 +978,7 @@ msgstr "Tiedotomuodot" msgid "Show file formats selection" msgstr "Näytä tiedostomuotovalinta" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -986,7 +986,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1041,7 +1041,7 @@ msgstr "Kirja on poistettu hyllystä: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "luo hylly" @@ -1125,177 +1125,177 @@ msgstr "Uusi päivitys saatavilla. Paina alla olevaa nappia päivittääksesi ve msgid "No release information available" msgstr "Ei päivitystietoa saatavilla" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Löydä (satunnaiset kirjat)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Kuumat kirjat (ladatuimmat)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Kirjailija: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Julkaisija: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Sarja: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Arvostelu: %(rating)s tähteä" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Tiedostomuoto: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Kieli: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Edistynyt haku" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Hae" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "DLS" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Arvostelulistaus" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Tiedostomuotolistaus" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Tehtävät" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Julkaistu alkaen " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Julkaisut ennen " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Arvostelu <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Arvostelu >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, 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:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Kirjan: %(res)s lähettämisessa tapahtui virhe" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Ole hyvä ja aseta Kindle sähköpostiosoite ensin..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Rekisteröi" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "LDAP autnetikoinnin aktivointi ei onnistu" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Väärä käyttäjätunnus tai salasana" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "olet kirjautunut tunnuksella: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)sn profiili" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profiili päivitetty" @@ -1356,7 +1356,7 @@ msgstr "Sähköposti" msgid "Send to Kindle E-mail Address" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Ylläpito" @@ -1366,7 +1366,7 @@ msgstr "Ylläpito" msgid "Password" msgstr "Salasana" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Lähetä" @@ -1558,7 +1558,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1656,13 +1656,13 @@ msgstr "Muunna kirja" msgid "Book Title" msgstr "Kirjan otsikko" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Kirjailija" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Kuvaus" @@ -1670,15 +1670,15 @@ msgstr "Kuvaus" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1699,90 +1699,90 @@ msgstr "" msgid "Rating" msgstr "Arvostelu" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Kannen osoite (jpg, kuva ladataan ja tallennetaan tietokantaan, kenttä jää uudelleen tyhjäksi)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Lataa kuva paikalliselta levyltä" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Julkaisupäivä" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Julkaisija" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Kieli" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Kyllä" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Ei" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Lataa tiedostomuoto" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "katso kirjaa muokkauksen jälkeen" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Hae metadata" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Avainsana" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Hae avainsanaa " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Klikkaa kantta ladataksesi metadata lomakkeelle" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Ladataan..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Sulje" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Lähde" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Hakuvirhe!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Ei osumia! Kokeile jotain tosita hakusanaa." @@ -1986,6 +1986,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Salli lähetys" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2347,7 +2351,7 @@ msgid "Add to shelf" msgstr "Lisää hyllyyn" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2422,7 +2426,7 @@ msgstr "Syötä domainnimi" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Seuraava" @@ -2532,7 +2536,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2553,48 +2557,48 @@ msgstr "Vaihda navigointi" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Ladataan..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Virhe" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Lataus tehty, prosessoidaan, ole hyvä ja odota..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Asetukset" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Tili" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Kirjaudu ulos" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Selaa" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Tietoja" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Edellinen" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Kirjan tiedot" diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo index 942ea659c8ff73c4776903bec3bbda6de74f740e..7992b4fece30cdaf74768aa8eb8a3e977959348b 100644 GIT binary patch delta 11051 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 delta 11143 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\n" "Language: fr\n" @@ -61,9 +61,9 @@ msgstr "Reconnecté avec succès" msgid "Unknown command" msgstr "Commande inconnue" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Inconnu" @@ -320,7 +320,7 @@ msgstr "Les paramètres du serveur de courriels ont été mis à jour" msgid "Database Configuration" msgstr "Configuration des options" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Veuillez compléter tous les champs !" @@ -365,7 +365,7 @@ msgstr "Éditer l'utilisateur %(nick)s" msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." @@ -400,7 +400,7 @@ msgstr "Les paramètres du serveur de courriels ont été mis à jour" msgid "Password for user %(user)s reset" msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Veuillez configurer les paramètres SMTP au préalable..." @@ -500,108 +500,108 @@ msgstr "non configuré" msgid "Execution permissions missing" msgstr "Les permissions d'exécutions manquantes" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "La colonne personnalisée No.%(column)d n'existe pas dans la base de données calibre" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Le format du livre a été supprimé avec succès" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Le livre a été supprimé avec succès" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s n’est pas un nombre valide, ignoré" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s n'est pas une langue valide" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "L’extension de fichier '%(ext)s' n’est pas autorisée pour être déposée sur ce serveur" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Pour être déposé le fichier doit avoir une extension" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossible de créer le chemin %(path)s (Permission refusée)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Échec de la sauvegarde du fichier %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Erreur de la base de données: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Les identificateurs ne sont pas sensibles à la casse, écrasant l’ancien identificateur" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Les métadonnées ont bien été mises à jour" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Erreur d’édition du livre, veuillez consulter le journal (log) pour plus de détails" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Le fichier téléchargé existe probablement dans la librairie, veuillez le modifier avant de le télécharger de nouveau: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Le fichier %(filename)s ne peut pas être sauvegardé dans le répertoire temporaire" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Impossible de déplacer le fichier de couverture %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Le fichier %(file)s a été téléchargé" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Le format de conversion de la source ou de la destination est manquant" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Le livre a été mis avec succès en file de traitement pour conversion vers %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Une erreur est survenue au cours de la conversion du livre : %(res)s" @@ -709,7 +709,7 @@ msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Le chemin du livre %(path)s n'a pas été trouvé dans Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Un compte existant a été trouvé pour cette adresse de courriel." @@ -791,7 +791,7 @@ msgstr "Configuration Kobo" msgid "Register with %(provider)s" msgstr "Enregistrer avec %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "vous êtes maintenant connecté comme : '%(nickname)s'" @@ -856,8 +856,8 @@ msgstr "Erreur Oauth Google : {}" msgid "{} Stars" msgstr "{} Étoiles" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Connexion" @@ -873,7 +873,7 @@ msgstr "Jeton expiré" msgid "Success! Please return to your device" msgstr "Réussite! Merci de vous tourner vers votre appareil" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Livres" @@ -898,7 +898,7 @@ msgstr "Livres téléchargés" msgid "Show Downloaded Books" msgstr "Montrer les livres téléchargés" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Livres les mieux notés" @@ -907,7 +907,7 @@ msgid "Show Top Rated Books" msgstr "Montrer les livres les mieux notés" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Livres lus" @@ -916,7 +916,7 @@ msgid "Show read and unread" msgstr "Montrer lus et non-lus" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Livres non-lus" @@ -934,7 +934,7 @@ msgid "Show Random Books" msgstr "Montrer des livres au hasard" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Catégories" @@ -944,7 +944,7 @@ msgstr "Montrer la sélection par catégories" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Séries" @@ -962,7 +962,7 @@ msgid "Show author selection" msgstr "Montrer la sélection par auteur" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Éditeurs" @@ -972,7 +972,7 @@ msgstr "Montrer la sélection par éditeur" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Langues" @@ -996,7 +996,7 @@ msgstr "Formats de fichier" msgid "Show file formats selection" msgstr "Afficher la sélection des formats de fichiers" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Livres archivés" @@ -1004,7 +1004,7 @@ msgstr "Livres archivés" msgid "Show archived books" msgstr "Afficher les livres archivés" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Liste des livres" @@ -1059,7 +1059,7 @@ msgstr "Le livre a été supprimé de l'étagère %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Créer une étagère" @@ -1143,177 +1143,177 @@ msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-desso msgid "No release information available" msgstr "Aucune information concernant cette version n’est disponible" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Découvrir (Livres au hasard)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Livres populaires (les plus téléchargés)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Livres téléchargés par %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Auteur : %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Éditeur : '%(name)s'" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Séries : %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Évaluation : %(rating)s étoiles" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Format de fichier : %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Catégorie : %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Langue : %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Recherche avancée" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Chercher" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Téléchargements" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Liste des évaluations" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Liste de formats de fichiers" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Tâches" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Publié après le " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Publié avant le " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Évaluation <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Évaluation >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Status de lecture = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Erreur lors de la recherche de colonnes personnalisées, veuillez redémarrer Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, 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 envoi vers %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! 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:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Veuillez mettre à jour votre profil avec une adresse de courriel Kindle valide." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Le serveur de courriel n'est pas configuré, veuillez contacter votre administrateur!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Créer un compte" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Le courriel de confirmation a été envoyé à votre adresse." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Impossible d’activer l’authentification LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Connexion de secours comme: '%(nickname)s', le serveur LDAP est indisponible, ou l'utilisateur est inconnu" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Impossible de se connecter: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Mauvais nom d'utilisateur ou mot de passe" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Le nouveau mot de passe a été envoyé vers votre adresse de courriel" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Profil de %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profil mis à jour" @@ -1374,7 +1374,7 @@ msgstr "Adresse de courriel" msgid "Send to Kindle E-mail Address" msgstr "Envoyer vers une adresse de courriel Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Administration" @@ -1384,7 +1384,7 @@ msgstr "Administration" msgid "Password" msgstr "Mot de passe" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Téléverser" @@ -1576,7 +1576,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1674,13 +1674,13 @@ msgstr "Convertir le livre" msgid "Book Title" msgstr "Titre du livre" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Description" @@ -1688,15 +1688,15 @@ msgstr "Description" msgid "Identifiers" msgstr "Identifiants" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Type d'identifiant" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Valeur d'identifiant" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Supprimer" @@ -1717,90 +1717,90 @@ msgstr "ID de séries" msgid "Rating" msgstr "Évaluation" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Obtenir la couverture à partir d'une URL (JPEG - l'image sera téléchargée et sauvegardée dans la base de données)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Téléverser la couverture depuis un fichier en local" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Date de publication" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Éditeur" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Langue" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Oui" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Non" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Format du fichier téléversé" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Voir le livre lors de la sauvegarde" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Obtenir les métadonnées" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Sauvegarder" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Mot-clé" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Rechercher le mot-clé " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Cliquer sur la couverture pour importer les métadonnées dans le formulaire" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Chargement..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Fermer" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Source" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Erreur lors de la recherche!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Aucun résultat. Veuillez essayer avec un nouveau mot clé." @@ -2005,6 +2005,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Autoriser le téléversement de fichier" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Formats de fichiers à télécharger autorisés" @@ -2366,7 +2370,7 @@ msgid "Add to shelf" msgstr "Ajouter à l'étagère" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Public)" @@ -2441,7 +2445,7 @@ msgstr "Saisir le nom du domaine" msgid "Denied Domains (Blacklist)" msgstr "Domaines refusés (Liste noire)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Suivant" @@ -2552,7 +2556,7 @@ msgstr "Livres classés par évaluation" msgid "Books ordered by file formats" msgstr "Livres classés par formats de fichiers" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Etagères" @@ -2573,48 +2577,48 @@ msgstr "Basculer la navigation" msgid "Search Library" msgstr "Chercher dans librairie" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Téléversement en cours..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Erreur" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Téléversement terminé, traitement en cours, veuillez patienter…." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Paramètres" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Compte" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Déconnexion" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Veuillez ne pas rafraîchir la page" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Explorer" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "À propos" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Précédent" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Détails du livre" diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo index 66c1dc52f8bc75270bfa0b1e1916f0e9c8d6dba3..dbec4a92aacf60d8516b3eb2a286f5755078bae1 100644 GIT binary patch delta 5851 zcmYM$3vgA%8Nl(4>WZm)%944d(itn!tR)Ueh77#i?i`2Ou^SM z4G&`nJcga{ICjSOBNO2?1s@36(G97wS=g24T+GBF$gN>~T%Uz@xBv}kDR#lTu`f2^ zaBM~cJ&8T>EDphLIUy8;LStI__hiQ8{P16zqM?b^IV2puVGpurS9h}NG$GxGwbVl&W{4?iv~6x&0swm_$p*o!WuLKkD{60js~(jLBTb89qphM9XOd@94HT6 zs|(Q-k42YY2AcZI@glqfo#{UGxufU+t#SJ)G*ii>Z3JeZ<0YynxY_36Ok9C>uoqpU zH*qq4fdjFsFoY6Zh-T_ubf!&cppT(Tu@#+hGqSD1@6Z5GpvUkOl9@zE8xX=Q8Vb=4 zZb2ix9h32{xP1e<6isMKACKGjpdBAXm#_s*@u%n-rxCS*W}^3Hqt{C?-Sb}=H%!G8 zF4UvPumKHd9gfHQ(V4u7yhFmrXh3O2(O$?xGg*u&coC-JBs8#UbV(MV8D54tj2{vd zI5D9Kjre&?#XXpe2hf3DN3S2j^YC39iYG81yRlvqu^h+Y3UrO1LHjv`KKC|y-%(6l zNg<~=+7wIBRBgh1+=@ne5QpPC=$ouF>2V1vaSF~s2i%0C@i;nQ4>n3i%trS@0eUQl z##WV(e{ZOv!B^_l=zvS&`mN}i-GlD_&2jxXOsBpNeeMu;!oQ*^Zo^dk65VV`yoa?n zdVNUjm?7lfNGH=^2Q$zJ>(FDk5ZS0Xh%;YSr2=WEQSwo0A`g&yT1abQJ;uY z@ou!=x6$MNH#G47CMcv)$SR8>%Rw_xgw9}8>;%l9ehGHQ8Z@A}*aa7&6Sz69{{YQU zBaX!f&?R~U9WUd;==nqs3PzNR?%E3Mf)mh)XT;WHSL!#QfvrUETa7-y0lVT;=w^N% zz3&M6rffl%@-&*kl%eetN`yWXOkEK=qiQrYwdk=~9J?A_iigmSUPkXfgkAAi-2Oi1 zQ$K?al*5koSYC+sHz{^5W_$iuP_V=G=mS5A>pRg051<3JpfhU45%^JD&o7Sx7=-N^ zM3-U$n(C=>y#{^09y4)14)pvlr{E@hF!m9&qs{1={|vj~4)k5WFTUP^GwGWw9f>96 zqJhms{=*tRH~?WM4#fA+ep9$93o|fbp&tb!8X8-L4p@VB+&`tOh`X+2f zXLcyQekAtqXdtJt7>h(^6vvT(BOGrh8^&3EW&%x2X>)>zJ@*VSX}=o z_DeJa9V?>DWupD$qcb0X-%4U>@KWkKc})^~NJ@-}e#umz5zfK6_#M0vUqv@x1&7#y ztI$1Bi)Nw$eaC+vd*Fj;pxe<`^o!_oN6;nx5WVj#x;GM;ycL}JICM?wkmU+Dp&k4b z%Wy9m@xRc`G?1@EUoh3^v8=;#T#1~#upRs0adas@M<;R)4LEH=d&Ux>h(b0EW$2Al z&`ey0?u7S~H^#4Y5tcuYKqtP{5j7&1DLOXa7?ci`+{{+1+g)eh6l!NT6P>W`;5q<8lxV{t3 z@By@+Lzpn7A5(B`3oeOfG8>)2wU~p;(9Enu&;Mq0#=k^2_EK^Jr#4NkpE-~OKF&nHzQ+(U!xtK#}4zxUTD1p`(h<}%;w-s zT!hZ389kOKa3P*SGdFKq6xjE04)txwJ`KqUMs5w{ycV9>~GNi52F1ij#4P4a1xzSuj**PLhMg{G&=BXw8KT1 zg3GZ4Z$ZC1wqP1Qhpzpvup_o02P?Fq{SUY_`ZYZqS;9nEN?|Y;?nGz$EV^0tqc4zF zbYSzWozSJ|i4Hsnoyll46VuTQEr_qL#Z>AKUy2A?Bi zhwRIuwOfdV)Hk9T*p27mKIA{V!bctUu8H25OVEsLL=ITkg6@S@QM zwtxRuP%uT);tMtCKn>XbB0@V_g)Yfmu}`4Ka8K+X(dYh+S@;Ed8Zu@@OI(O<_Lv1miZ{u}%0DE|yeCJ{%j>LK#fcIcO+=)H$Ep!6^ zK=;t6Xa>&Jk^f8znX{ueSRQ(z1iRyS^uf!}2d_Z`U5HchNp!|-XzD-1;dl<+Y~@!) z8K^`zXC3y&@1jezHbKD$x1fP+M~~f0XaIjgm!=KdBgZ`I=i=-AuZ}t_M+2RP6xgMMjyBWjjRDp?J69FO*jY-$L;??@9S9~?TKM%y&6sZ zA}q!`;`%Sp{(g@h&kvByB|_(Gq8CI@bf&Y=6xE}tU5?IRC3eEQ(A3_CW^NPq!ma2F zX;0k#A^QAjG;?Rs45hGk+=Xt&kI|IneKY!PI2--$ zxDET@?U;{`Vm9tZGkXk+@Fb4K%z4p7rehDr549F>F}izKp)=f!?%t;{7xyCHq~Sdr zfrZyb_g#g9sV_ihwjK@q33Ng&=*<6#_Hzb(fAne~|Gv=*DLC*{EXO5iK#$@1_#B$b zgJ?%@;Xr&3oq5XqD3JWvQgp^+&Hxo`!IZrd-*5`eKnD)H v17xCWUxIc#>c>sJZ{Kn8`H$yy8eTSRWPbUuaid1;Xsg(qw4-@Uhm!vT`w(^b delta 5941 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 %(rating)s" msgstr "Értékelés <= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, 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:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! 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:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Először be kell állítani a kindle e-mail címet..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Regisztrálás" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése" -#: cps/web.py:1523 +#: cps/web.py:1518 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:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Rossz felhasználó név vagy jelszó!" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s profilja" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "A profil frissítve." @@ -1356,7 +1356,7 @@ msgstr "E-mail" msgid "Send to Kindle E-mail Address" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Rendszergazda" @@ -1366,7 +1366,7 @@ msgstr "Rendszergazda" msgid "Password" msgstr "Jelszó" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Feltöltés" @@ -1558,7 +1558,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1656,13 +1656,13 @@ msgstr "Könyv konvertálása" msgid "Book Title" msgstr "Könyv címe" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Szerző" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Leírás" @@ -1670,15 +1670,15 @@ msgstr "Leírás" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1699,90 +1699,90 @@ msgstr "" msgid "Rating" msgstr "Értékelés" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Borító URL (jpg, borító letöltve és elmentve az adatbázisban, a mező újra üres lesz utána)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Borító feltöltése helyi meghajtóról" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Kiadás éve" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Kiadó" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Nyelv" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Igen" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Nem" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Feltöltés formátuma" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Könyv megnézése szerkesztés után" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Metaadatok beszerzése" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Kulcsszó" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Keresési kulcsszó " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Kattints a borítóra a metadatok betöltésére" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Betöltés..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Bezárás" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Forrás" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Keresési hiba!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Nincs találat! Próbálj másik kulcsszót." @@ -1986,6 +1986,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Feltöltés engedélyezése" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2347,7 +2351,7 @@ msgid "Add to shelf" msgstr "Hozzáadás polchoz" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2422,7 +2426,7 @@ msgstr "Tartomány megadása" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Következő" @@ -2532,7 +2536,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2553,48 +2557,48 @@ msgstr "Navigáció átkapcsolása" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Feltöltés..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Hiba" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Feltöltés kész, feldolgozás alatt, kérlek várj..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Beállítások" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Felhasználói fiók" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Kilépés" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Böngészés" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Névjegy" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Előző" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Könyv részletei" diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo index edf183ba61484d57446c7abdc739e5c5751136b0..83bc12dc196acdc03c2c516d990a97fce95dcb3f 100644 GIT binary patch delta 11819 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 diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index 2fb8119b..15bd2a43 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: ElQuimm \n" "Language: it\n" @@ -45,9 +45,9 @@ msgstr "Ricollegato con successo" msgid "Unknown command" msgstr "Comando sconosciuto" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Sconosciuto" @@ -297,7 +297,7 @@ msgstr "Configurazione del Database aggiornata" msgid "Database Configuration" msgstr "Configurazione del Database" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Per favore compila tutti i campi!" @@ -341,7 +341,7 @@ msgstr "Modifica l'utente %(nick)s" msgid "User '%(nick)s' updated" msgstr "L'utente '%(nick)s' è stato aggiornato" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Si è verificato un errore sconosciuto: per favore riprova." @@ -376,7 +376,7 @@ msgstr "Configurazione del server e-mail aggiornata" msgid "Password for user %(user)s reset" msgstr "La password dell'utente %(user)s è stata resettata" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Configura dapprima le impostazioni del server SMTP..." @@ -474,108 +474,108 @@ msgstr "non configurato" msgid "Execution permissions missing" msgstr "Mancano i permessi di esecuzione" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "La colonna personale no.%(column)d non esiste nel database di Calibre" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Il formato del libro è stato eliminato con successo" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Il libro é stato eliminato con successo" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Errore durante l'apertura del libro selezionato. Il file non esiste o il file non è accessibile" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "modifica i metadati" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s non è un numero valido, proseguo" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non è una lingua valida" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Non è consentito caricare file con l'estensione '%(ext)s' su questo server" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossibile creare la cartella %(path)s (autorizzazione negata)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Il salvataggio del file %(file)s non è riuscito." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Errore nel database: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Ho aggiunto il formato %(ext)s al libro %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Gli identificatori non tengono conto delle lettere maiuscole o minuscole, sovrascrivo l'identificatore precedente" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "I metadati sono stati aggiornati con successo" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Errore nella modifica del libro. Per favore verifica i dettagli nel file di registro (logfile)" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Probabilmente il libro caricato esiste già nella libreria; considera di cambiare prima di sottoporlo nuovamente: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Il file %(filename)s non può essere salvato nella cartella temporanea" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Impossibile spostare il file della copertina %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Il file %(file)s è stato caricato" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Mancano o il formato sorgente o quello di destinazione, entrambi necessari alla conversione" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro accodato con successo per essere convertito in %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Si è verificato un errore durante la conversione del libro: %(res)s" @@ -683,7 +683,7 @@ msgstr "File %(file)s non trovato su Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Non ho trovato la cartella %(path)s del libro su Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "Ho trovato un account creato in precedenza con questo indirizzo e-mail." @@ -764,7 +764,7 @@ msgstr "Configurazione di Kobo" msgid "Register with %(provider)s" msgstr "Registra con %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "ora sei connesso come: '%(nickname)s'" @@ -829,8 +829,8 @@ msgstr "Google, errore Oauth: {}" msgid "{} Stars" msgstr "{} Stelle" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Accesso" @@ -846,7 +846,7 @@ msgstr "Il token è scaduto" msgid "Success! Please return to your device" msgstr "Riuscito! Torna al tuo dispositivo" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Libri" @@ -871,7 +871,7 @@ msgstr "Libri scaricati" msgid "Show Downloaded Books" msgstr "Mostra l'opzione per la visualizzazione dei libri scaricati" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Libri meglio valutati" @@ -880,7 +880,7 @@ msgid "Show Top Rated Books" msgstr "Mostra l'opzione per la selezione dei libri meglio valutati" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Libri letti" @@ -889,7 +889,7 @@ msgid "Show read and unread" msgstr "Mostra l'opzione per la selezione letto e non letto" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Libri non letti" @@ -907,7 +907,7 @@ msgid "Show Random Books" msgstr "Mostra libri casualmente" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Categorie" @@ -917,7 +917,7 @@ msgstr "Mostra l'opzione per la selezione delle categorie" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Serie" @@ -935,7 +935,7 @@ msgid "Show author selection" msgstr "Mostra l'opzione per la selezione degli autori" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Editori" @@ -945,7 +945,7 @@ msgstr "Mostra l'opzione per la selezione degli editori" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Lingue" @@ -969,7 +969,7 @@ msgstr "Formati file" msgid "Show file formats selection" msgstr "Mostra l'opzione per la selezione del formato dei file" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Libri archiviati" @@ -977,7 +977,7 @@ msgstr "Libri archiviati" msgid "Show archived books" msgstr "Mostra l'opzione per la selezione dei libri archiviati" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Elenco libri" @@ -1032,7 +1032,7 @@ msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Crea uno scaffale" @@ -1115,177 +1115,177 @@ msgstr "Nuovo aggiornamento disponibile. Clicca sul pulsante sottostante per agg msgid "No release information available" msgstr "Non sono disponibili informazioni sulla versione" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Scopri (libri casuali)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "I libri più richiesti" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "I libri scaricati da %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Autore: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Editore: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Valutazione: %(rating)s stelle" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Formato del file: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Categoria: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Lingua: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Ricerca avanzata" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Cerca" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Elenco delle valutazioni" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Elenco dei formati" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Compito" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Pubblicato dopo il " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Pubblicato prima del " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Valutazione <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Valutazione >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Stato di lettura = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Errore di ricerca nelle colonne personalizzate. Per favore riavvia Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Libro accodato con successo per essere spedito a %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Oops! Si è verificato un errore durante l'invio di questo libro: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Per favore aggiorna il tuo profilo con un indirizzo e-mail Kindle a cui inviare i libri." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registra" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Il tuo e-mail non è autorizzato alla registrazione" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Un messaggio di conferma è stato inviato al tuo recapito e-mail." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Non posso attivare l'autenticazione LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback login come: '%(nickname)s', il server LDAP non è raggiungibile o l'utente è sconosciuto" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Non posso accedere: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Nome utente o password errati" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Una nuova password è stata inviata al tuo recapito e-mail" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Per favore digita un nome di utente valido per resettare la password" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Ora sei connesso come '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Profilo di %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profilo aggiornato" @@ -1346,7 +1346,7 @@ msgstr "Indirizzo e-mail" msgid "Send to Kindle E-mail Address" msgstr "Invia all'indirizzo e-mail di Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Amministrazione" @@ -1356,7 +1356,7 @@ msgstr "Amministrazione" msgid "Password" msgstr "Password" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Upload" @@ -1547,7 +1547,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1645,13 +1645,13 @@ msgstr "Converti libro" msgid "Book Title" msgstr "Titolo del libro" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autore" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Descrizione" @@ -1659,15 +1659,15 @@ msgstr "Descrizione" msgid "Identifiers" msgstr "Identificatori" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Tipo di identificatore" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Valore dell'identificatore" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Rimuovi" @@ -1688,89 +1688,89 @@ msgstr "ID della serie" msgid "Rating" msgstr "Valutazione" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Carica la copertina da URL (jpeg - l'immagine della copertina viene scaricata e salvata nel database)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Carica la copertina dal disco locale" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Data di pubblicazione" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editore" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Lingua" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Sì" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Carica formato" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Visualizza il libro dopo la modifica" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Ottieni metadati" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Salva" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Parola chiave" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 msgid "Search keyword" msgstr "Cerca parola chiave" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Fai clic sulla copertina per caricare i metadati nel modulo" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Caricamento in corso..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Chiudi" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Fonte" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Errore nella ricerca!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Nessun risultato! Prova con un altro criterio di ricerca." @@ -1973,6 +1973,10 @@ msgstr "Converti caratteri non inglesi del titolo e dell'autore durante il salva msgid "Enable Uploads" msgstr "Abilita il caricamento" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Formati di file autorizzati ad essere caricati" @@ -2332,7 +2336,7 @@ msgid "Add to shelf" msgstr "Aggiungi allo scaffale" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Pubblico)" @@ -2407,7 +2411,7 @@ msgstr "Digita il nome di dominio" msgid "Denied Domains (Blacklist)" msgstr "Dominii bloccati per la registrazione (Blacklist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Prossimo" @@ -2517,7 +2521,7 @@ msgstr "Libri ordinati per valutazione" msgid "Books ordered by file formats" msgstr "Libri ordinati per formato" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Scaffali" @@ -2538,48 +2542,48 @@ msgstr "Alterna navigazione" msgid "Search Library" msgstr "Ricerca nella libreria" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Uploading..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Errore" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Caricamento riuscito, sto elaborando, per favore aspetta..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Configurazione" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Logout" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Per favore non ricaricare la pagina" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Naviga" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Informazioni su" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Precedente" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Dettagli del libro" diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index f0f34b232cfbe9fd10dfc3e74de09fc9b895c3f9..b06a320d21d524773715ee55fa6b37f71a91ff5e 100644 GIT binary patch delta 4577 zcmYM$4^Y?j9mnwx%D-QrsEGU%1O_6A$WM?`)DQ+D;1*;i=UA>%YpIo_H8=MS5x1$- zI5j;<=HId0vN_gyt**S5sdqZ_w$sDZZf07RT9jtlpFLlE-*@vk9-q(W`}y_c#taaVVa^ zM7)UMs73`8ftoJ{L!IYbHU;{)yuJn&LPc1CTBshgu@OgOD;D5BR7TF@M2v}Zt{AIv z3^rp9zJ&a^9)4-zYpB2?hB=qS`YxS<9!x?-Iup}zj1hqIP-;HNiz| z{~Wc$FjgtVXjCAjsI$Hgm9eE*fm<;P-^W}GaC5c6B9DS1o{WmD43+vB$d8-DF9q@x za?jivWDfTSyc=Idjf+X~14=^8myT*5iOOiu>LsZ8Dp8sBW>Zj#9zz{L3o5d;*1iEX zK^H2peW;ARfm+}omf$)2k8- zaUw3q+wo=8#8*%g_M$Rz3w5gl+&r}>qApbiD#eAU4OCz({uq_92T&PUjNz>Ben~-R zyVBf*TJSHZ0sBx3yoMw3AXecgI1R`1PAZTU$c1-ps0F)F3%!a;{b5w#$E|)AJ-vq) zD5&G7I03&!W#IN7_^Drl3Sc?vEL%_${SLM8CbJ8b;{B)v-$wO2h6?Omdw$)Xhh~z0 zK4vZ|(@$9jDicMhz@{TV?jC;i1%SG>EoKKQ)!pVn)TKLR&##zaynDKwDX9L%sCBBc z$iEsIY0$t&QIWTzF3~!xA3*Kw5QgDN)TKOwI-(1xao128xq2o->bn)g}M_-z=0Cr}&d zK^?jGAqA!8I)>xGQGSOw)N7K7YQGoh;(m%6xEi(KdJM(gsH53qzG9`TkSTgAu5mWFuc!HwOD-6|!kpi^@n7>g-mdE?0;70xHn`sGYx#8h;#F)BPK_ zhwvX4tfbyKn)K`a|A2zdDkIPThF4)5^#!;QucN*XYsdJh?ZUo=P z8WnJ8zTZC{qp7DN-zqm6llA^rQ_z{sM=q>erU%%8b+{k(mITK7?P;h0CYj~Pr@&QP zeIaV0CaXVf_1~ZZ+JGam3q3aH{zc(VyoIG$!i|}Rze1(zEmV6{(ElGzEoukLPz!Cu z7~Em?zghhaRG`OEm-ZxTTnHDd8Pmp*e@(E123@X~P&++^3hb)2Cv)}ZQZGlPb{A^m zy;y}WqXPI2C*i;%Kd>5%r9K<=nl3b-MBRy%MdY8&xj)mOvpj=(8+uU-MUD3(k3%h3 ziVAodYT}s~hYz8i{~C3fTdm%P>c7F^Pd9D+R_1?~J3tihqhen4~0cGSdgq82=Y z8h94t@KaQv;ryji;Db>09Gs7ZcrR{2WvCZ5uHPMg-AkaL2}hw8DnWgS%21cF8MT8y zVkvgx$zGAyn${puE8xh0JBQ` zzzR`2sze2Hm)U5~e~wD&3RJ*3j!}X2<6;cL0IHsZ(R%;WDQJOwR3`2~f_62S zgsrHFwqY{<6&1))Yws~XGQUCv5}53d%SU~PrdYiU6+k@(^!_(cn2Qgf2EK(0@gr2n zS)9jsY(xdJ9{IMoomM}AGpYX5G{s>0miE_`6>@*Ep z=mP2vxF7mQ5sQ6y0<}O5>ImvF74NrtGb*5VRG^)x+y1saKZnY|Rjk9CsQIcr4rBy{ zI`eVVg6*h)cA;LE16Dt2^6l4?d# zH2=X+Ga1z(0~OFX)TOJi=S`@Imz%3l{hmQ(VmmIyz4knl{3~Pm$USs3kbpebMuCg# zdaw`^ru!4rqB78c+SyW!#4Xr}J5f6csrHRTEgXXyHyrzp4il-@;N3XS+F!vMz5hok zD3u9>lZ!zN;7_bR-)uKuLoIX(m7y=J9$M?S4@QkoMFlVlwXqUZz>gyL)h$DPd)zA& zhU2@aKyG3-4xZspGyyeHIckDgn1zk&Ul_cy`>r7k3Ac?KQ&5x^ESNaHu)90=Xh`?p I^CqPK50%r(H2?qr delta 4665 zcmYM%4^Y?j9mnwxhJ=V9B=Jx4hyMHnqVdO6urUZkr{+#&(2A))Cn`ad64vzaE3DKg zUFV-WIjL=Mmy)ZasGvyg6c5M8qC5N%Hrv;i z5ee3Q^$%59r6J@yb#4kD)TU)XGnx#`D&2q10|d zrDzXo3r?T{J8kuUL=A8O6<9YaWB*1?a2uy$f0oa-yCPKkM^Twrf@;4Sm9ce5COx-- z3#E1&GKSl24cQEyzg4I$S%X^0K@8vt>^roW zqvyYe3q8lF+*L|vV<|4jd_0Jg@fvF25u7j$I0lu8EYztku=+WuGgW~~@p9AxR-@i8 z&!IBbiqXvPc5|VW9765wakCRO;TNb5-KdGb!O?gdXJ8u7;&gl*706-aL2zeK6J9_a z+OJXb+(88%K9c;aBAyF9hRLXgqc9J1P#LI2rG78=r4qH5Cr|^uiJG|6ynssab=3I1 zsCNB=eqe)9_cMazUk&o8;HBmYQ7NlHWuh7t*jnV*weZmw0P4`5FuPFwdd%CXLl@1n zrgkIDeAMBbhiYFliu`M$MyuF@>iBC^U?)+B=q)RMi;Da|*dGUu_A?WQ+M;AszaT0j zY2wL#^;L zRLU=zx6IgddumVtWcg*!P2oZ-EV3JAsFhSAZ(X+-@4`l8@vaHgejjSg`| zEh@!v6Z{F&P-kbXS%A7LeQK^k#zcg?X&cNZQ374a`_F2@p$M7CJgHia&MD|}7Ur?dLaUEHt zOL)NF%Tm-+QHh$U0TsE2ns7gA;NPMKeiIY$L)85q)M>wINgz|@KIEtPoV-|ZRM@Fl=4oj!0;)4hP+BH)Unno zno$F8K~1y=3-AEyFn)zv!C<~13UL^&zy((B!iOlw@x`J3W#(h3c^0F#=2=YC_y0z_ z@fzyXb|6or`wO;UIDb{>`Ti9uu$`zC9zq3j(mZSTKSFKM-%$a_a{%OI)Wnsjz-n=@ zp8tBQcn&q-i>L`&Q4{V$7Uhm%3f@Ew6!ioD@k>GVn}n(_Hs_l^M+H!C z?+$RGh~7X={5CGabEu9J$bT))N3}bRoF8``&>M-^z@+Z!~dnsp|Gf)99L>tGtvH=zFHXMR& z<{?zScZ$fr8h&66FJL<5D_D<%2=@tW!X&(jsTf)82Npys#{hUdZH@5K2TjBsC)A1Kq#;(R9n3ypgRqrWmQL#;wzJ)vd8D-2D0<=bMlU? t&FBp4yKDWfG#%{T@xtF)es`s5f6u;kJ^Nq1(zJJLY-YldnVETM{{z#W^ZEb) diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 4b560850..db9458ff 100644 --- a/cps/translations/ja/LC_MESSAGES/messages.po +++ b/cps/translations/ja/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: white \n" "Language: ja\n" @@ -46,9 +46,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "不明" @@ -299,7 +299,7 @@ msgstr "メールサーバの設定を更新しました" msgid "Database Configuration" msgstr "機能設定" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "全ての項目を入力してください" @@ -344,7 +344,7 @@ msgstr "%(nick)s を編集" msgid "User '%(nick)s' updated" msgstr "ユーザ '%(nick)s' を更新しました" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "不明なエラーが発生しました。あとで再試行してください。" @@ -379,7 +379,7 @@ msgstr "メールサーバの設定を更新しました" msgid "Password for user %(user)s reset" msgstr "%(user)s 用のパスワードをリセット" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "初めにSMTPメールの設定をしてください" @@ -477,108 +477,108 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "メタデータを編集" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s は有効な言語ではありません" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバにアップロードすることは許可されていません" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "アップロードするファイルには拡張子が必要です" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s の作成に失敗しました (Permission denied)。" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s を保存できません。" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ファイル形式 %(ext)s が %(book)s に追加されました" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "メタデータを更新しました" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "本の編集でエラーが発生しました。詳細はログファイルを確認してください" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "変換元の形式または変換後の形式が指定されていません" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "本の %(book_format)s への変換がキューに追加されました" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "この本の変換中にエラーが発生しました: %(res)s" @@ -686,7 +686,7 @@ msgstr "ファイル %(file)s はGoogleドライブ上にありません" msgid "Book path %(path)s not found on Google Drive" msgstr "本のパス %(path)s はGoogleドライブ上にありません" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "このメールアドレスで登録されたアカウントがあります" @@ -768,7 +768,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "%(nickname)s としてログイン中" @@ -833,8 +833,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "ログイン" @@ -850,7 +850,7 @@ msgstr "トークンが無効です" msgid "Success! Please return to your device" msgstr "成功です!端末に戻ってください" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "" @@ -875,7 +875,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "" @@ -884,7 +884,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "読んだ本" @@ -893,7 +893,7 @@ msgid "Show read and unread" msgstr "既読の本と未読の本を表示" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "未読の本" @@ -911,7 +911,7 @@ msgid "Show Random Books" msgstr "ランダムで本を表示" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "カテゴリ" @@ -921,7 +921,7 @@ msgstr "カテゴリ選択を表示" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "シリーズ" @@ -939,7 +939,7 @@ msgid "Show author selection" msgstr "著者選択を表示" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "出版社" @@ -949,7 +949,7 @@ msgstr "出版社選択を表示" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "言語" @@ -973,7 +973,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -981,7 +981,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1036,7 +1036,7 @@ msgstr "本が %(sname)s から削除されました" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "本棚を作成する" @@ -1120,177 +1120,177 @@ msgstr "アップデートが利用可能です。下のボタンをクリック msgid "No release information available" msgstr "リリース情報がありません" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "本を見つける (ランダムで表示)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "出版社: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "シリーズ: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "カテゴリ: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "言語: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "詳細検索" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "検索" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "タスク" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "これ以降に出版 " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "これ以前に出版 " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "評価 <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "評価 >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "本の %(kindlemail)s への送信がキューに追加されました" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "%(res)s を送信中にエラーが発生しました" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "初めにKindleのメールアドレスを設定してください" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "登録" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "このメールアドレスは登録が許可されていません" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "確認メールがこのメールアドレスに送信されました。" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "ユーザ名またはパスワードが違います" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s のプロフィール" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "プロフィールを更新しました" @@ -1351,7 +1351,7 @@ msgstr "" msgid "Send to Kindle E-mail Address" msgstr "" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理者" @@ -1361,7 +1361,7 @@ msgstr "管理者" msgid "Password" msgstr "パスワード" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "アップロード" @@ -1553,7 +1553,7 @@ msgid "OK" msgstr "" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1651,13 +1651,13 @@ msgstr "本を変換" msgid "Book Title" msgstr "本のタイトル" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "著者" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "詳細" @@ -1665,15 +1665,15 @@ msgstr "詳細" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1694,90 +1694,90 @@ msgstr "" msgid "Rating" msgstr "評価" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "言語" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "はい" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "いいえ" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "キーワード" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr "キーワードを検索" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "カバー画像をクリックしてメタデータをフォームに読み込んでください" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "読み込み中..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "閉じる" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "ソース" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "検索エラー" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "検索結果が見つかりません。別のキーワードで検索してみてください。" @@ -1981,6 +1981,10 @@ msgstr "" msgid "Enable Uploads" msgstr "" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2341,7 +2345,7 @@ msgid "Add to shelf" msgstr "本棚に追加" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2416,7 +2420,7 @@ msgstr "ドメイン名を入力" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "次" @@ -2526,7 +2530,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2547,48 +2551,48 @@ msgstr "" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "アップロード中..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "エラー" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "アップロード完了。現在処理中ですのでお待ち下さい..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "設定" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "アカウント" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "ログアウト" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "閲覧" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "このサイトについて" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "前" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "本の詳細" diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo index b85040b6dd652428607cfbe3964ac6f50e3e2449..b5af5537715f8d298363de2cee539899c4606272 100644 GIT binary patch delta 25 hcmaE~pYhRt#tr*bxQuiSOcV?atW1qJpHz{w1^|Qx2)qCQ delta 25 hcmaE~pYhRt#tr*bxD0iTj1>$mt&A);pHz{w1^|R*2*>~c diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index 8f7f70e9..365a89f7 100644 --- a/cps/translations/km/LC_MESSAGES/messages.po +++ b/cps/translations/km/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -47,9 +47,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "មិនដឹង" @@ -305,7 +305,7 @@ msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្ msgid "Database Configuration" msgstr "ការកំណត់មុខងារ" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "សូមបំពេញចន្លោះទាំងអស់!" @@ -349,7 +349,7 @@ msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" msgid "User '%(nick)s' updated" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "" @@ -384,7 +384,7 @@ msgstr "" msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" @@ -482,108 +482,108 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 +#: cps/editbooks.py:490 cps/editbooks.py:954 #, python-format -msgid "%(langname)s is not a valid language" +msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "មានបញ្ហាពេលកែប្រែសៀវភៅ សូមពិនិត្យមើល logfile សម្រាប់ព័ត៌មានបន្ថែម" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -691,7 +691,7 @@ msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google msgid "Book path %(path)s not found on Google Drive" msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "" @@ -772,7 +772,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" @@ -837,8 +837,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "ចូលប្រើប្រាស់" @@ -854,7 +854,7 @@ msgstr "វត្ថុតាងហួសពេលកំណត់" msgid "Success! Please return to your device" msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "" @@ -879,7 +879,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "សៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ" @@ -888,7 +888,7 @@ msgid "Show Top Rated Books" msgstr "បង្ហាញសៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "សៀវភៅដែលបានអានរួច" @@ -897,7 +897,7 @@ msgid "Show read and unread" msgstr "បង្ហាញអានរួច និងមិនទាន់អាន" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "សៀវភៅដែលមិនទាន់បានអាន" @@ -915,7 +915,7 @@ msgid "Show Random Books" msgstr "បង្ហាញសៀវភៅចៃដន្យ" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "ប្រភេទនានា" @@ -925,7 +925,7 @@ msgstr "បង្ហាញជម្រើសប្រភេទ" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "ស៊េរី" @@ -943,7 +943,7 @@ msgid "Show author selection" msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "" @@ -953,7 +953,7 @@ msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "ភាសានានា" @@ -977,7 +977,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -985,7 +985,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1040,7 +1040,7 @@ msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "បង្កើតធ្នើ" @@ -1124,177 +1124,177 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "ស៊េរី៖ %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "ប្រភេទ៖ %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "ភាសា៖ %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "ស្វែងរកកម្រិតខ្ពស់" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "ស្វែងរក" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "ឯកសារ DLS" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "កិច្ចការនានា" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "បានបោះពុម្ភក្រោយ " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "បានបោះពុម្ភមុន " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "ការវាយតម្លៃ <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "ការវាយតម្លៃ >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "ចុះឈ្មោះ" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ" @@ -1355,7 +1355,7 @@ msgstr "" msgid "Send to Kindle E-mail Address" msgstr "ឧបករណ៍ Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "រដ្ឋបាល" @@ -1365,7 +1365,7 @@ msgstr "រដ្ឋបាល" msgid "Password" msgstr "លេខសម្ងាត់" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "អាប់ឡូដ" @@ -1557,7 +1557,7 @@ msgid "OK" msgstr "បាទ/ចាស" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1655,13 +1655,13 @@ msgstr "" msgid "Book Title" msgstr "ចំណងជើងសៀវភៅ" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "អ្នកនិពន្ធ" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "ពិពណ៌នា" @@ -1669,15 +1669,15 @@ msgstr "ពិពណ៌នា" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1698,90 +1698,90 @@ msgstr "លេខសម្គាល់ស៊េរី" msgid "Rating" msgstr "ការវាយតម្លៃ" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "URL របស់ក្របមុខ (ឯកសារ JPG ក្របមុខត្រូវបានទាញយក និងរក្សាទុកក្នុង database ក្រោយមកចន្លោះនេះទទេម្តងទៀត)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "ថ្ងៃបោះពុម្ភ" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "អ្នកបោះពុម្ភ" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "ភាសា" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "បាទ/ចាស" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "ទេ" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "ទម្រង់អាប់ឡូដ" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "មើលសៀវភៅក្រោយពីកែប្រែ" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "មើលទិន្នន័យមេតា" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "ពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr "ស្វែងរកពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "ចុចលើគម្របដើម្បីបញ្ចូលទិន្នន័យមេតាទៅក្នុង form" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "កំពុងដំណើរការ..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "បិទ" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "ប្រភព" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "ការស្វែងរកមានកំហុស!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "" @@ -1984,6 +1984,10 @@ msgstr "" msgid "Enable Uploads" msgstr "" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2345,7 +2349,7 @@ msgid "Add to shelf" msgstr "បន្ថែមទៅធ្នើ" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2420,7 +2424,7 @@ msgstr "" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "បន្ទាប់" @@ -2530,7 +2534,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2551,48 +2555,48 @@ msgstr "បិទ/បើកការរុករក" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "កំពុងអាប់ឡូត..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "ការកំណត់" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "ចេញពីការប្រើប្រាស់" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "រុករក" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "អំពី" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "មុន" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "ព័ត៌មានលម្អិតរបស់សៀវភៅ" diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo index 8dc8d59d65c55e294a17bb834ad709984216b83a..f28ef909238595059682a535b7aa3c3d88217c81 100644 GIT binary patch delta 11304 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 diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index 37e23246..7cc832e6 100644 --- a/cps/translations/nl/LC_MESSAGES/messages.po +++ b/cps/translations/nl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web (GPLV3)\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2020-12-12 08:20+0100\n" "Last-Translator: Marcel Maas \n" "Language: nl\n" @@ -47,9 +47,9 @@ msgstr "Opnieuw verbinden gelukt" msgid "Unknown command" msgstr "Onbekende opdracht" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Onbekend" @@ -305,7 +305,7 @@ msgstr "E-mailserver-instellingen bijgewerkt" msgid "Database Configuration" msgstr "Databaseconfiguratie" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Vul alle velden in!" @@ -350,7 +350,7 @@ msgstr "Gebruiker '%(nick)s' bewerken" msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' bijgewerkt" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Onbekende fout opgetreden. Probeer het later nog eens." @@ -385,7 +385,7 @@ msgstr "E-mailserver-instellingen bijgewerkt" msgid "Password for user %(user)s reset" msgstr "Wachtwoord voor gebruiker %(user)s is hersteld" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Stel eerst SMTP-mail in..." @@ -485,108 +485,108 @@ msgstr "niet geconfigureerd" msgid "Execution permissions missing" msgstr "Kan programma niet uitvoeren" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Aangepaste kolom Nr.%(column)d bestaat niet in de Calibre Database" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Het boekformaat is verwijderd" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Het boek is verwijderd" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Oeps! Geselecteerd boek is niet beschikbaar. Bestand bestaat niet of is niet toegankelijk" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "metagegevens bewerken" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s is geen geldig nummer, sla het over" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s is geen geldige taal" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "De bestandsextensie '%(ext)s' is niet toegestaan op deze server" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Het te uploaden bestand moet voorzien zijn van een extensie" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Kan %(file)s niet opslaan." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Database fout: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "De metagegevens zijn bijgewerkt" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Kan het boek niet bewerken, controleer het logbestand" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Geüpload boek staat mogelijk al in de bibliotheek, controleer alvorens door te gaan: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Bestand %(filename)s kon niet opgeslagen worden in de tijdelijke map" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Omslag %(file)s niet verplaatst: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Bestand %(file)s geüpload" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Bron- of doelformaat ontbreekt voor conversie" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Het boek is in de wachtrij geplaatst voor conversie naar %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Er is een fout opgetreden bij het converteren van dit boek: %(res)s" @@ -694,7 +694,7 @@ msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Bestaand account met dit e-mailadres aangetroffen." @@ -776,7 +776,7 @@ msgstr "Kobo Instellen" msgid "Register with %(provider)s" msgstr "Aanmelden bij %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "je bent ingelogd als: '%(nickname)s'" @@ -841,8 +841,8 @@ msgstr "Google OAuth foutmelding: {}" msgid "{} Stars" msgstr "{} sterren" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Inloggen" @@ -858,7 +858,7 @@ msgstr "Toegangssleutel is verlopen" msgid "Success! Please return to your device" msgstr "Gelukt! Ga terug naar je apparaat" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Boeken" @@ -883,7 +883,7 @@ msgstr "Gedownloade boeken" msgid "Show Downloaded Books" msgstr "Gedownloade boeken tonen" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Best beoordeelde boeken" @@ -892,7 +892,7 @@ msgid "Show Top Rated Books" msgstr "Best beoordeelde boeken tonen" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Gelezen boeken" @@ -901,7 +901,7 @@ msgid "Show read and unread" msgstr "Gelezen/Ongelezen boeken tonen" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Ongelezen boeken" @@ -919,7 +919,7 @@ msgid "Show Random Books" msgstr "Willekeurige boeken tonen" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Categorieën" @@ -929,7 +929,7 @@ msgstr "Categoriekeuze tonen" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Boekenreeksen" @@ -947,7 +947,7 @@ msgid "Show author selection" msgstr "Auteurkeuze tonen" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Uitgevers" @@ -957,7 +957,7 @@ msgstr "Uitgeverskeuze tonen" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Talen" @@ -981,7 +981,7 @@ msgstr "Bestandsformaten" msgid "Show file formats selection" msgstr "Bestandsformaten tonen" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Gearchiveerde boeken" @@ -989,7 +989,7 @@ msgstr "Gearchiveerde boeken" msgid "Show archived books" msgstr "Gearchiveerde boeken tonen" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Boekenlijst" @@ -1044,7 +1044,7 @@ msgstr "Het boek is verwijderd van boekenplank: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Boekenplank maken" @@ -1128,177 +1128,177 @@ msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten na msgid "No release information available" msgstr "Geen update-informatie beschikbaar" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Verkennen (willekeurige boeken)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Populaire boeken (meest gedownload)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Gedownloade boeken door %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Auteur: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Uitgever: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Reeks: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Beoordeling: %(rating)s sterren" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Bestandsformaat: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Categorie: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Taal: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Geavanceerd zoeken" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Zoeken" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Beoordelingen" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Alle bestandsformaten" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Taken" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Gepubliceerd na " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Gepubliceerd vóór " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Beoordeling <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Beoordeling >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Lees Status = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Fout tijdens het zoeken van aangepaste kolommen, start Calibre-Web opnieuw op" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Fout opgetreden bij het versturen van dit boek: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Stel je kindle-e-mailadres in..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "E-mailserver is niet geconfigureerd, neem contact op met de beheerder!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registreren" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Er is een bevestigings-e-mail verstuurd naar je e-mailadres." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Kan de LDAP authenticatie niet activeren" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Terugvallen op login: '%(nickname)s', LDAP Server is onbereikbaar, of de gebruiker is onbekend" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Inloggen mislukt: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Verkeerde gebruikersnaam of wachtwoord" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Je bent ingelogd als: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)ss profiel" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profiel bijgewerkt" @@ -1359,7 +1359,7 @@ msgstr "E-mailadres" msgid "Send to Kindle E-mail Address" msgstr "Kindle-e-mailadres" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Beheer" @@ -1369,7 +1369,7 @@ msgstr "Beheer" msgid "Password" msgstr "Wachtwoord" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Uploaden" @@ -1561,7 +1561,7 @@ msgid "OK" msgstr "Oké" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1659,13 +1659,13 @@ msgstr "Boek converteren" msgid "Book Title" msgstr "Boektitel" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Omschrijving" @@ -1673,15 +1673,15 @@ msgstr "Omschrijving" msgid "Identifiers" msgstr "Identificatoren" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Identificatie type" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Identificatie waarde" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Verwijderen" @@ -1702,90 +1702,90 @@ msgstr "Boekenreeks volgnummer" msgid "Rating" msgstr "Beoordeling" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Omslag-url (jpg) (de omslag wordt gedownload en opgeslagen in de database)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Omslag uploaden vanaf de harde schijf" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Publicatiedatum" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Uitgever" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Taal" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Nee" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Uploadformaat" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Boek inkijken na bewerking" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Metagegevens ophalen" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Opslaan" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Trefwoord" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Trefwoord zoeken " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Klik op de omslag om de metagegevens in het formulier te laden" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Bezig met laden..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Sluiten" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Bron" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Zoekfout!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Geen resultaten gevonden! Gebruik een ander trefwoord." @@ -1990,6 +1990,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Uploaden inschakelen" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Toegelaten upload bestandsformaten" @@ -2351,7 +2355,7 @@ msgid "Add to shelf" msgstr "Toevoegen aan boekenplank" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Openbaar)" @@ -2426,7 +2430,7 @@ msgstr "Voer domeinnaam in" msgid "Denied Domains (Blacklist)" msgstr "Geweigerde domeinen voor registratie" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Volgende" @@ -2537,7 +2541,7 @@ msgstr "Boeken gesorteerd op beoordeling" msgid "Books ordered by file formats" msgstr "Boeken gesorteerd op bestandsformaat" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Boekenplanken" @@ -2558,48 +2562,48 @@ msgstr "Navigatie aanpassen" msgid "Search Library" msgstr "Zoek in bibliotheek" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Bezig met uploaden..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Fout" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Uploaden voltooid, bezig met verwerken..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Instellingen" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Afmelden" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Deze pagina niet vernieuwen" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Verkennen" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Informatie" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Vorige" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Boekgegevens" diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo index b6d4e65ef195d33fa66b94d8fde6e66bf4f3b496..641be5ae3a745cc1b56cd400a9c7d64e1cd7d698 100644 GIT binary patch delta 11304 zcmYM&37n5r-^cN*88c>#SsOE$#ougZF_;-6Gh=9wb!^%9UH07&)m0)!Q5d3o%93Om zql7FGQBuj8NU7WpNlgo(9^v_Xo%4DFr(&tF+AF zzg=FA6OG?iQ}6%(D@}8p47#slJRZlocmwskhfWygqxzlEgX6G1E!>y`JNEV>U)&4%WdgSOuTNAe@6$aVdu5YSeQ(?Dg+3 zi2gO({|9}T-|;0(4OG<{iFz;&gE0dYKmjVi$54T^N3DD)24fLwoEK1;Sd4L4j)8a* z_5Am!BwxoU=6C!Wn8*{bCjAW5gN2xh1JNIs*z2XJlx{@@x(l`9BS=b}Z?OqRux}l( zD|W>-*dA}<04!i|w~)qa8f>Rifwi$lmWezMBj^u6w#}J_ihM2Bz+LEzr!WA|V+dYG zZQU(YrtYCK6VcFdDq(GW7?T>3e_hDsg7&T%daw{R!8p{5^H6)a1QqBWWRcDlRA7O_8U|fe9&^N~% z!$8!^GEf0D!7%KJ{LdN9{{`bZ)VSMGTXPn}@h8;t?!Pn?Krs0$z}l#k4n?K#6;$;u zN3!j#Lk)BusUznaYU`r&%)lwA=bNHxq7YkPFVq&6qE5wO zO{f$fLrrwX`U7ghUr~Yli`v7WrjFAVA3+WH9O}JNR8eoR{Vk{k?M9u7Pf*ACOAKdz z=Nt{4=L*!G-$HFc5X)1w=AlwI9QE8n)C!klb=-tn;UU!4e1p;W3o0D-tY>he|y-<;kL+yRBy}uF_z$R3H@1yqopuK+#HPJ=euRxum zd#Kb`YH3bUG%C|wTpDb*GZHoN+n9+TpjP%fDg*wHnTVrN6VyWmmX8Xk1IAz<)Cy;y zQv5t>rHfI;{U)lGHeoutr)Xr+a9Wu?Z-_~ByIE(U23~7DfDdW{J8}Ik>QmaGwfV6b ziVE;u)IZn)JcC;Kder@WsA4>C{R{J$-w7@>D{7Cv^m||c_D8LFlyy8- zp+5!v@fp;>^HH_14i(^b)cYT!YU?B_;E)dHgB6DwXDqt9F`b6?tQfV|E3hi=L~YF> z+rNMb^sl0dGO(lhqnigS)9;OeI2bj-1XN%%QGqV7u16i$k2;cnvf!NMLQjmNqSz*9 zCTdF#qXzg9^{1mT}*8xNZU_Ab(3;7SB z@gWy9!3orhKVt?y^tgE;3srCu|FSFP8po;AnY70+e3Z6q{!mFzp zC)TB*R5d_;SDZY|!zWQ0*ntY{6l$VhP(^hUb?mBkGg}acLG=5gCLWFTaUyE`)u`Iq zjLOJ1)I!}eG_;~$QG0$5HBdlzGf+(or|&`4MmB1%yP^i{i)lCnvv3h=#UG&pK7xAw zBzoa_RAApCnRlJ4J&w1Du5(EJHry&N0;a4xwQ5A!?7Ba5QQ~6Hp77 zhnjFXs%Tf*{(jWnAH?Q5|Cedh<3e&Tllq>>HaSaCE4qShv1V`cHM}qEQdVU$|xmBp5dk;17epGFJiK>|ksG7RepZu$F+dfcrfO)V6R_A&Ws(6~&>#b2M z?1q}4H|k3_4E6j()P%*TaaUqZEVuomsJ*|4%8=JU@~;O22AT&wm_$Dh>);Snh8CbE z+KS4+UerpC+5Q=9L;ni4#`=RyAk(o1{duSitU+a{9JR2ITp9}CGt>j$qf-7W>cu;# z7pe_56Q-d04N!aA(q4ZY6<}}FIKxpZoQ!&I7Aj-KwqJtUGIuQvZyIHogYTe<>KZD- z#35#&bX4jap#sZ8eQ3I)Cg_Vw{V3~`sD%`xCR%~Y*jjsiBNC|V?4qFoKDG~>MxFm} zP{+k*sM(sv7)QS=YQQ2?AkU&EdJSW6BWj`}sOP>!W#k-2;APYn{)^!{|3SmdIgdxB zuqP(qP*e)%V>B+d*UM2`a2g}=C+mHTryn`oOpu4lU0sBy<)F!MXpXehF| zs4rkCYDL>nksd@3o<`NmU#I~5N0{ehP=REjz7Oqf{|VHoa8cu|K+UrWHO@hFbv(}6 z2mV9_;QfTjL=9A=iRg>eI|g2tF4ZiA`xXJIU^ z#|-?~rJ+b~qb80SYgQVMim)Ck;!JBx)Jl6;N1y^Mvi*6efL=vq>QhuLov`=6M`i4H z)YiMVXz194jx)tmAFI-Dk1C#Cs23)o2AW}=hdQ3iQG0n5_1tyTY54~OF=D*=k|tm` z`h}?R*B}A9PB{&wY$xi4W2hBhKvi`G`lHVT6JW444YhTxQO^}xhgqM(Ag-67AHIpo za2aaB+px0E{|WoRIn;nZq5`;rRq$`rUVBe8fka>meGe+|cBoVjMolmZmD&lYEnI-g z&>~F2_fg|r#6X?@KWXSZ-bWQp_#~5wj;NLQLj^VhwW2Zh{!CQL=VJ)IjCyXh^(|BY zn@|CiqcZU|Dg!^DtHwPV*B@fvCYyhP37%@IwGcD7KOJ?fHlp_SbL&;~(D#{U{;HLP z0rdOfa2$yv@Jnon*+u5L(WuO>E+YTEXl&+!QdeoZu?oi155a6~h^mdzs4w3P)VKd7 z^x%5bb4Tp;yBJD8a)!xF3Wn3qMIFOVwm)+Q`Byc*%mrDBO3_B^Hq>73MV;HTs6D@l z3Z&|jrn)_-f!m<&PeCnU0qXs7tcOQYTlhC>yvpuO^Fk6f=0ZMdPm3@TpGLi~46EZh zRPpS?d^~}L7&ME2C&s?`IPS$>y8e{8{sa!Ae*{&8b)Poh3AZbaI$W589xTJQcntMp z68Vftbrx!iI-rWJD+c2*RP|4_K84EU9MnPQH% z*2gSV@eM^4&oXR^pP^Rh|E&3=RzK9h>rereqf))!T7kMB{TxRSlQ02yV4TkXH#BN< z;Vvd(t=Z<+>oHV+BMkY1G6XI2~jbj-mNT!KpR2dHsRp`Ncm1^&mVl#0y)b$iBz+6-SPhoppj2`?BeeoV@0-psY z#jzMmzZ0q^#-qLyucHs1UO@ge!FevIO0S^;@_Nx6vryE;2{;@_pa;Le2PwtM^dEZ3 ze0u#+0|#LMhNB;PP(_|%`>jwJ?Bvo&rZEOnu>@5dA7T~!1GVBir~pG2ntn1WQ~Bt@ zPFM>kqBp*R8m9!cppUUFoqUF&J;5w#N4rb2@4v0lQ8<4W+U_Dn*k}6D&f#xDJzWJ8Fd& zPy^jTJs-Z<1e$@m-yijbd>S8Q0+qQE48k(he0woW=l?hjo!3hkip~;a7*?g5fC?nT z_6tyZ*AeyJXw-o7QJE@51@a~i#6zg(;+L9#oGL&qa2_^be&=->ittO+USB~?cn1S9 zpv2s-fg$uWFcF)h0vu_tPeU!>1ys?kz$Ul`^YNlJdYP$>KIrCg<3$?s2&SX=ax*~& z#?$YKop2UvC7)v<{)`H!(W~aY))+y58fwCqupNGeb+FnBvvv8X1@>4${?!=41r=ct z>e#GCt)L9GXFE_uc^Io<&`R^i?F7_sLN9EFuVN&AjoSO)QSaYCz326sDcb6oML*{? z@~;=haiJd0#oD+X!|*IVj6Y*I-bH;-!v4cMn1LE-6>6N*sAByE<1nn$)Iv74r{5j5 zz%{7jy~U-W6z)QOIF6$B{5a~v@*QeVFJm^|My(|Mb(6{#s1^1@726n$#?P@gUPaYN z^Eb=_I$;g^!%$o6K0`w*T#K=|6SdN>FaxjIe)KA{=NYIidj=KgB2<8-_If$iq`x0E z(RozBH*ggCuja31I0d`w{NJLXhzr-4OpHPeFw^#z+5URW>*jkEkMzdei=lqXJ!o)p0dO>iqAfp%+eKM+{hJ&T$`9AcIj`^b~4K7NTln8OGoS z)Yg51D%vlwAAW`Uf@Z#DCLDmu*mP`xbMaB;caGAig;my@;!8zMScv+x_D3D77f{FW zbyTrcp!U}1ZF79XQ15j_T_1=#Rbx?sF2^L?j(YzBKKT3p4H}9(XoIPNNL1vFP+Gk-e+=~9_x6w=-hFW1fdSeDEv)T6g1Wc#@G{)oRjpSbg9p}P8Ox|REMCM~# z`dd(`x{ZoFZ?pNC9fDExpFpkndGx{(OvG1he;=x54qyS^z+B8OGoRv#W#qp(7j|+X z5C6eJJ+Os;g2&mYV)+*}QMGbY8%dZ-KOMDoz0iX*P}RN?vvDh`7A~U}(0r@;l^unT z(qHM)&_Lgy2J(5w1eAzz^haVEzKBimebfs6!b({GU9$xZQPtfP6+mayu^xeyaV9E& z+4lZM45jaWNF$iWN$ZcO>i*MOX`5MjBx=B9)PPMe6kFPU57amVFa*b=54x!L=2}-; zw-{aLAPpU}uTU@ifg0!*2B7bI#xM+`AB!GLN1cj}SObS+GP;<88?Zi}LIvct-8}y= z>NKQcy3T(a8g;o)^xy)&+o%^#VmMwx1$NtBzl++_pdB1d9D_>vQPdWGk9z+;Mq|iM zV>;@&cBq97!kWzQjHRK7=Aq8zTlRr{sNy?{VR#9B@g^!0|DrM#@V@Csp`J@cjgya> zs5@$_2BVJU6l{dk@xkwZISuXUHT1*lsEO|2Bj~lu^m9=wC_rVVCwg$Ky}l4N(VM9E zcVGm5fK~A{>b)OO^WEG<{x!i}F0{n#-RAtx#7z3Du?n6>rSc+bf;*^l9=OMBO%^Kf z9MnY3Q4@DUWoQIy;v&>{Tt%Fe}PIt-JthVjEN~3`IRR6}8nbVRhW((onS?vKK0_9(~_^CXj4YQ4K-`@+?N< zYZ!&^qb53S{SEaq?!Vt;AQ^QknpsC;9r}w=0l2$qXiraBucB6P4^<>SADS9yVx5Xw zc^PU8E~6F@aKL==vN4JN7}Uf|P+Ped{qZ-{xPK#C<2v;ZnmuiX+JY{q z5f#`hRKT;*gDX%0>_*kne^D8X`pBGycBrcFkE)TusNx&_K$l-N8ahrhQOBnkAHz~q zAeT@@cNG=+|6()DIAj8ugiYwrL#^~M=HhKs&14=nThbHr=og_DvJFF--`P#W8$U;_ z>^N%Wmu>$BDlq?#O%X+-`VFxFTccK1jH>n}_WoK_%6DLW{1BCy->tEqkbkYb1C4m> zhYH|Xd>EIbj?pG;g$Gds`5iG^)fn|&3)DDIpiWZ}4#js+3kmrHg z|Ho1CuW$ctE-2E3&&SmBi7Z4`BxK>2L=xE$p~SvKQxcRm*4hQJ=8|<b|HTTWN3XTB@j0 zwN!g8C0hG_yV+VxmC{zVT1Bh=`hS1Sob&(p+|$?0JoC(a=Q}gckJGz*iT8@7-tNV) z3JVtoR1apkZu1AmC~!IKyRW}`~a2F zQ1-1k=3*zDfluRU%*7N2b^B46Kp_uLA=~T3WjanQc1A^BgyC3*Y@4$lbxh7+4ZMlI z=-1G30x$?eFcP(Osi;h4qB4_<6|j3l@?V8QAKNe%m4RaP;1tvZZ=qh?h1$zQs6c-~ z7VAVcGJ)k`Q|cx7IDUZIsvD^He?^X$^8k}E<#F;~jlwhZ?tvpvk?uup!B@6^2Ng(Q zW5-&^3wX zs49>w)TzzmUm9>GDy0ii0j@y}xDBrm7pMuVwBVp&Eb46KqYhgkhT|Blh0`!n z_kRtAnlyZjI_;NGDfVh))al^fT&K z{Dl>n-|;4Vr7RG2pW{$_o{HLncBs=@gi75~RKLBb6&}OtcnP(_KTul}+}dQ;g9@w# z>if|XHU1!UmD=YiXm4hs>L*YGoyS^u8*5?}4u%40fI3XiqED^^ z2-d)xsKET%n%hymE&11;HKai+X^Xm!-L0cg5l_WOry6zISD;e49yQ@M)C5OR<6J>a zbPpA{KdV!KNvH+3MUB(7oofbomIehf2KC|#s4aN~qwp=%-k00wCs6@hLIwB}YR~W5 z=U&-nqAIBI;!w9J6P5Zb)Gg}jQc$X=Bj>?+12yq^Y=FO_R#v;c$v{igio2p#G8h%u zI8;DWF$U+MR`?!jVcSvf9Yh`Ov#7J=UZRjr!S4xkZ5pBWybu#{rgbxF;4{`c_~=aJ zI8GPZ8=$ssDt5xfr~t2F65c^AH0DV&UqfVS*BL}1fd}uPQgaful541lZ(|DjbTFsB zK31Tfg<4@t)B-x7Qauqfa0WKToyh0jxr5rG)Q)B=8e<^yJ1r%$S;@zmTa1IsV52*L=qt2Eu`=X4tN0Q<6Kvx5;v=26*_N*MW z*C((t-au{5AGRLS+5DL=26ZjlBEL&cKKkKY48(<~@mHe)+k^^qkM--$s?T{WjOMUah4&6%ejCGJie>>U^PRXjlS3# z=XE9j@f1F#Aq0O%eYt$PnHOuKUU(c^<8buHbr_28V;Js7ZN(YX$}ijYU(koT7Y9OH z=#R-5h{{A`mx2a*8kMR7Ytd^$gU2uVN}L!c5$U zTJb$pW*(sW`*tTA7=#4oI-wMl`ZlPQcEf5o7E^E<*2m50!OO^J-SOg}=zh0HeTYg? z6RyArT#Z`5F4Tm_ur{8w_1hS)`+t{$28`^<9mc+>)Xzb-&pC`*QB*H;D7zprI7_e! z-a;*)LT__6s-cH^O=~Must2F~nu-nZHEg5%zn_8*p>H3v(iCeSOs9PgYK1#({TxP7 z_j}fHp1^o)iX*Twu0dtu0_w1Si#n7yP`Bn!YsJ3gUma>tP-@~(E6PEgfj+3c8;**6 zoP9n8b!Zo$R=(EOx1;(WMUC?%>d<|Un)o(qTr+C#gqa4h}&DvH@%0F4O`~qcU{GrJ$AFLq+;GszcR* zCgriH7we;5=!lxIpRE_5_O`^fzl;iSE^3^ms0FS?_1lcfSh=mcM<{5|&Y(A5#w`2} zb*O3$G6D8R4KxUq`jM!>icsH&S*QtKMXh+bbtCHRl%wW3fm*;B)9yMKDJasLr~&TV z4*rA9{SQW6m!_z#8I5r`12y2gs6akMP4r)k!HcMg9-#Vp4>9uuVmS3k4AuS5prF*Z z!%XanO5q%=jf+t$-;L3D(6(PeZHa$@`QSub8)7`|d8ji|gxcb%SOI6*_Ic>f{LV@W zO4)i;WIIt`z|T-Cx{ey?E_%>^s0lb36+lZ=|85w8!%^RdQd@r=bt^tVjdKDu&n0xV z^1Bq2+JIrELn3OxCa6qwMrEKk`r=?r#u3)}SdV(S^=GU@z2QGC2)naRDaaHcZD0=)r&y zW}#^#$iFuYEoso+w6*4-Cd@-+pd0E-*AH9bSo?exr8sS*xlQd* zhjB zgUY1OX!BlGRL0!e6twrLsB7~C>hKJ~%25@i+}ivDZXSJO-jtIMg}{7AZ zFle&*Q*S+tqF#bEZ~In?f>D^QJwXttsu zHo#~ch8p-KtcMFwhwuQZ-#u)JX{Ba`BQb}1IqJ6fPB8(6U|s4SYZuh>$v9W{e+Grx zG(=1_zgEpLmU@3oz$vzUt*sxm&u^iJ=V33J%w%FB^)9GWKLI0gD#qX&*bG0y-gpng zncwO5l1Y6bs^e1Bi`!Ax<_lEnvZk58VzoxCV3c(N>hP6fSDcT!9oH}!e@A7w=5#Y| zLsb7R=xR>~Q|N>)X5k6c9{Rm(_AVH8sG?CX7NWLb66zYgj~eF?YOk-L0=R{J@F8mJ zde1Q5jX4-cea8&)uTy-UhAwyqb-LTnG<*LH>fRQhCZ1^9XJZ@cucHFEh`D$hJ=kiN z$=CqY_`^_#yA*5U7Sx&ebQby72jy=Xe6Z1MGjTK2Da}I#Gz7zNJZj?USb&GogLUWF zl%gN?!B_!DqQ))40GxpSI2CosXS=rH9aIXpU>!VxDR>tZdF(6Z3)u~|;=ZT=$JzQU zRHjy-2e)7?{2aaUH`F+HQ430%Yp%8XI0auCN>QnK8I$pC)V2E*JD@Yq9KMdI{u3}B zC!r44O7!41)B?_8ZG7xibLbLLAGS6aj6IR9ah>55bn2&|B3^;o>piFxeSw%zDFIp``8@47nt9Q*66mNVKN0xybGJ*O>6Q( z^T*}_)C6UyJ>P*{@B(Tj>5I(wAr}?UVob+%7>;L9^Zbk*F>SH=jhVRE-v1ReXocIY zhf#;{Eb7{LEio$y!XWAqs6&~E)vyRNaXRWZVJEi2KQRKcmYTiqih4gE_1=)BDYSRL1(R#=Yx@dQR=`f~bW zN7NZvjaq=ag+dJq2T^R zgJ~GP%KWIcLj^nub(oLhqrd;(qM+1ytu}iWg;~@yu``ZF-Q!)TK=z>myNKG7UoZ^s zVGLGUW45ji>e|)CXR$Hr!!#c?-^Uo}QaDGU9bU)QnEJLkB%?5v`W)1R8&RLuJ*aE- zJ?a|%jXJbl)|$N?hRvuKqu$$W+do0ws*|Wd|3Ej9LijsofEK6~=A%CrVNEPSMZOrd z*Za{QzeJt(3)mAw*O@<PE8nO$VtKU>HCr_*qWhIkBIZwAW1{?un- zZTt~CVDP&pQ@v1uzkwBSKStpZ)WqMR7v9AL{L|KJZ7^ph4%^V4zk&QWrLc&G_V_ur z#p>^w6!yV9J;xHfirTw=8_h%$(U0r3wNRize1h%zpxR8ZZc;f2ep9JE`@p& zj$v#33pG&l&1RrssDNI^I6R7}coUmrjV)#Y-BFo%4J+b848=E50lbg8)`!s#&!Ylx zui6d)@0%B5F_;IL)^-?1{b}n^4540v8gLeBz~vZTZ=J>dMSEv9_m(XMtx`wVI91T$yn(Flj(-2fQDeW ze*d4NpzAOP({Vkf;aOYv`Ov(OiB)OOMg`W(w)aQf?;`ArC$Ji({>N-#8`OjYQJ>;* z)_M5o|Nparf>yQ{wepjwfPO&TYrk#gc`el8OT{qEMjgH$s7&-jWoopoPeS#ZgAup_ zHP1HGR_#Mq_wp2l$MGEM!x6IG>}ekAoG+>7F31~qvk!kll|9+<)-b}_#^X$%En5xPextGnV5keU=6&6`Y<`Wj0xC; zYDbK~7f}mZhRWP3jKuY*vv2^_@3c!nd;K$3$I83SX-z=YyI@@$jtXQE>I1VE709<3 zjSnyiYm}Rb8d;x0eZohgGB68uD^^8xQ&`HYLD5|hSrX#6%0U~kzuGUT5dg! zT6xgNW(#sq*KIU5!bO;fCr}grj@rtYPab`!T<0kY8n`!VZ(c*~=}OcVY(?#9IR@f> z+x|H!unVX|cojW(9~D5xDq2Gi4y8rtqXs?c2zeHW9^QaeYV0(Os z3M6}<39ut7@Mp0VmZ1Xq0-NIxsFfz}H=pQUs53JkYvK-U#{AA%3R+3k17_eT^roJU z8ZZO3@*G>wM+G(#b%-Y0`a*0&eI4rb-#}&bcl*4;LG#-Xf%RyQMOUfmN3+f1*Q4J50+p#>P~&C(jKWR\n" "Language: pl\n" @@ -48,9 +48,9 @@ msgid "Unknown command" msgstr "Nieznane polecenie" # ??? -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Nieznany" @@ -304,7 +304,7 @@ msgstr "Zaktualizowano ustawienia serwera poczty e-mail" msgid "Database Configuration" msgstr "Konfiguracja bazy danych" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Proszę wypełnić wszystkie pola!" @@ -349,7 +349,7 @@ msgstr "Edytuj użytkownika %(nick)s" msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." @@ -385,7 +385,7 @@ msgstr "Zaktualizowano ustawienia serwera poczty e-mail" msgid "Password for user %(user)s reset" msgstr "Zrestartowano hasło użytkownika %(user)s" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." @@ -486,108 +486,108 @@ msgstr "nie skonfigurowane" msgid "Execution permissions missing" msgstr "Brak uprawnienia do wykonywania pliku" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Niestandardowa kolumna No.%(column)d nie istnieje w bazie calibre" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Plik książki w wybranym formacie został usunięty" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Książka została usunięta" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Błąd otwierania e-booka. Plik nie istnieje lub jest niedostępny" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie jest poprawną liczbą, pomijanie" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s nie jest prawidłowym językiem" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Rozszerzenie pliku '%(ext)s' nie jest dozwolone do wysłania na ten serwer" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Plik do wysłania musi mieć rozszerzenie" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nie udało się utworzyć łącza %(path)s (Odmowa dostępu)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Nie można zapisać pliku %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Błąd bazy danych: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format pliku %(ext)s dodany do %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "W identyfikatorach nie jest rozróżniana wielkość liter, nadpisywanie starego identyfikatora" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadane zostały pomyślnie zaktualizowane" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Błąd podczas edycji książki, sprawdź plik dziennika, aby uzyskać szczegółowe informacje" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Wysłana książka prawdopodobnie istnieje w bibliotece, rozważ zmianę przed przesłaniem nowej: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Nie można zapisać pliku %(filename)s w katalogu tymczasowym" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Nie udało się przenieść pliku okładki %(file)s:%(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Wysłano plik %(file)s" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Brak formatu źródłowego lub docelowego do konwersji" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Książka została pomyślnie umieszczona w zadaniach do konwersji %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Podczas konwersji książki wystąpił błąd: %(res)s" @@ -697,7 +697,7 @@ msgstr "Nie znaleziono pliku %(file)s na Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Nie znaleziono ścieżki do książki %(path)s na Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "Znaleziono istniejące konto dla tego adresu e-mail" @@ -779,7 +779,7 @@ msgstr "Konfiguracja Kobo" msgid "Register with %(provider)s" msgstr "Zarejestruj się %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "zalogowałeś się jako: '%(nickname)s'" @@ -844,8 +844,8 @@ msgstr "Błąd Google Oauth: {}" msgid "{} Stars" msgstr "{} Gwiazdek" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Zaloguj się" @@ -861,7 +861,7 @@ msgstr "Token wygasł" msgid "Success! Please return to your device" msgstr "Powodzenie! Wróć do swojego urządzenia" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Książki" @@ -886,7 +886,7 @@ msgstr "Pobrane książki" msgid "Show Downloaded Books" msgstr "Pokaż pobrane książki" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Najwyżej ocenione" @@ -895,7 +895,7 @@ msgid "Show Top Rated Books" msgstr "Pokaż menu najwyżej ocenionych książek" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Przeczytane" @@ -904,7 +904,7 @@ msgid "Show read and unread" msgstr "Pokaż menu przeczytane i nieprzeczytane" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Nieprzeczytane" @@ -922,7 +922,7 @@ msgid "Show Random Books" msgstr "Pokazuj losowe książki" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategorie" @@ -932,7 +932,7 @@ msgstr "Pokaż menu wyboru kategorii" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Cykle" @@ -950,7 +950,7 @@ msgid "Show author selection" msgstr "Pokaż menu wyboru autora" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Wydawcy" @@ -960,7 +960,7 @@ msgstr "Pokaż menu wyboru wydawcy" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Języki" @@ -984,7 +984,7 @@ msgstr "Formaty plików" msgid "Show file formats selection" msgstr "Pokaż menu formatu plików" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Zarchiwizowane książki" @@ -992,7 +992,7 @@ msgstr "Zarchiwizowane książki" msgid "Show archived books" msgstr "Pokaż zarchiwizowane książki" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Lista książek" @@ -1047,7 +1047,7 @@ msgstr "Książka została usunięta z półki: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Utwórz półkę" @@ -1131,178 +1131,178 @@ msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktual msgid "No release information available" msgstr "Brak dostępnych informacji o wersji" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Odkrywaj (losowe książki)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Najpopularniejsze książki (najczęściej pobierane)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Książki pobrane przez %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Autor: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Wydawca: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Cykl: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Ocena: %(rating)s gwiazdek" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Format pliku: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Język: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Wyszukiwanie" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Szukaj" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "DLS" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Lista z ocenami" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Lista formatów" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Zadania" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Opublikowane po " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Opublikowane przed " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Ocena <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Ocena >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Status przeczytania = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 #, fuzzy msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Błąd podczas wyszukiwania kolumn niestandardowych, proszę zrestartować Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Książka została umieszczona w kolejce do wysłania do %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Najpierw skonfiguruj adres e-mail Kindle..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Zarejestruj się" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Twój e-mail nie może się zarejestrować" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Wiadomość e-mail z potwierdzeniem została wysłana na Twoje konto e-mail." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Nie można aktywować uwierzytelniania LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Nie można zalogować: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Błędna nazwa użytkownika lub hasło" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Nowe hasło zostało wysłane na Twój adres e-mail" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Profil użytkownika %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Zaktualizowano profil" @@ -1364,7 +1364,7 @@ msgid "Send to Kindle E-mail Address" msgstr "Adres e-mail dla wysyłania do Kindle" # ??? -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Panel administratora" @@ -1374,7 +1374,7 @@ msgstr "Panel administratora" msgid "Password" msgstr "Hasło" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Wysyłanie" @@ -1567,7 +1567,7 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1666,13 +1666,13 @@ msgstr "Konwertuj książkę" msgid "Book Title" msgstr "Tytuł książki" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Opis" @@ -1680,15 +1680,15 @@ msgstr "Opis" msgid "Identifiers" msgstr "Identyfikatory" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Rodzaj identyfikatora" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Wartość identyfikatora" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Usuń" @@ -1709,90 +1709,90 @@ msgstr "ID cyklu" msgid "Rating" msgstr "Ocena" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Pobierz okładkę z linku (JPEG - obraz zostanie pobrany i zapisany w bazie)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Wyślij okładkę z dysku lokalnego" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Data publikacji" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Wydawca" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Język" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Tak" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Nie" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Wyślij format" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Po zapisaniu wyświetl szczegóły książki" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Uzyskaj metadane" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Zapisz" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Słowo kluczowe" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Szukaj słowa kluczowego " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Kliknij okładkę, aby załadować metadane do formularza" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Ładowanie..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Zamknij" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Źródło" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Błąd wyszukiwania!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Nie znaleziono! Spróbuj użyć innego słowa kluczowego." @@ -2002,6 +2002,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Włącz wysyłanie" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Dozwolone formaty przesyłania" @@ -2363,7 +2367,7 @@ msgid "Add to shelf" msgstr "Dodaj do półki" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(publiczna)" @@ -2438,7 +2442,7 @@ msgstr "Podaj nazwę domeny" msgid "Denied Domains (Blacklist)" msgstr "Domeny zabronione (czarna lista)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Następne" @@ -2551,7 +2555,7 @@ msgstr "Książki sortowane według oceny" msgid "Books ordered by file formats" msgstr "Ksiązki sortowane według formatu" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Półki" @@ -2572,50 +2576,50 @@ msgstr "Przełącz nawigację" msgid "Search Library" msgstr "Przeszukaj bibliotekę" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Wysyłanie…" # ??? -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Błąd" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Wysyłanie zakończone, przetwarzanie, proszę czekać…" -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Ustawienia" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Konto" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Wyloguj się" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Proszę nie odświeżać strony" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Przeglądaj" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Informacje" # ??? -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Poprzedni" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Szczegóły książki" diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo index f08ccf569a4417124062409bc30ed22345ace903..38214e1ff7eaddbfcb66c2ee7f9309b6163d07b7 100644 GIT binary patch delta 10196 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\n" "Language: br\n" @@ -43,9 +43,9 @@ msgstr "Reconexão bem-sucedida" msgid "Unknown command" msgstr "Comando desconhecido" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Desconhecido" @@ -303,7 +303,7 @@ msgstr "Atualização das configurações do servidor de e-mail" msgid "Database Configuration" msgstr "Configuração das Características" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Por favor, preencha todos os campos!" @@ -348,7 +348,7 @@ msgstr "Editar usuário %(nick)s" msgid "User '%(nick)s' updated" msgstr "Usuário '%(nick)s' atualizado" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." @@ -383,7 +383,7 @@ msgstr "Atualização das configurações do servidor de e-mail" msgid "Password for user %(user)s reset" msgstr "Senha para redefinição do usuário %(user)s" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Por favor, configure primeiro as configurações de correio SMTP..." @@ -483,108 +483,108 @@ msgstr "não configurado" msgid "Execution permissions missing" msgstr "Faltam as permissões de execução" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "A coluna personalizada No.%(column)d não existe no banco de dados do calibre" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Formato do Livro Eliminado com Sucesso" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Livro Eliminado com Sucesso" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Oops! O título do livro seleccionado não está disponível. O arquivo não existe ou não é acessível" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A extensão de arquivo '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "O arquivo a ser carregado deve ter uma extensão" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permission denied)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o arquivo %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Erro de banco de dados: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de arquivo %(ext)s adicionado a %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não são sensíveis a maiúsculas ou minúsculas, mas sim a maiúsculas e minúsculas" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadados atualizados com sucesso" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Livro de edição de erros, por favor verifique o ficheiro de registo para mais detalhes" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O livro carregado provavelmente existe na biblioteca, considere mudar antes de carregar novo: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "O arquivo %(filename)s não pôde ser salvo no diretório temporário" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Falha ao mover arquivo de capa %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Arquivo %(file)s enviado" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Falta o formato de origem ou destino para a conversão" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Livro enfileirado com sucesso para conversão em %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocorreu um erro ao converter este livro: %(res)s" @@ -692,7 +692,7 @@ msgstr "Arquivo %(file)s não encontrado no Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Caminho do livro %(path)s não encontrado no Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Encontrado uma conta existente para este endereço de e-mail." @@ -774,7 +774,7 @@ msgstr "Configuração Kobo" msgid "Register with %(provider)s" msgstr "Registre-se com %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "agora você está logado como: '%(nickname)s'" @@ -839,8 +839,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Login" @@ -856,7 +856,7 @@ msgstr "O Token expirou" msgid "Success! Please return to your device" msgstr "Sucesso! Por favor, volte ao seu aparelho" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Livros" @@ -881,7 +881,7 @@ msgstr "Livros descarregados" msgid "Show Downloaded Books" msgstr "Mostrar Livros Descarregados" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Livros Mais Bem Avaliados" @@ -890,7 +890,7 @@ msgid "Show Top Rated Books" msgstr "Mostrar os melhores livros avaliados" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Livros Lidos" @@ -899,7 +899,7 @@ msgid "Show read and unread" msgstr "Mostrar lido e não lido" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Livros Não Lidos" @@ -917,7 +917,7 @@ msgid "Show Random Books" msgstr "Mostrar Livros Aleatórios" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Categorias" @@ -927,7 +927,7 @@ msgstr "Mostrar seleção de categoria" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Série" @@ -945,7 +945,7 @@ msgid "Show author selection" msgstr "Mostrar selecção de autor" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Editores" @@ -955,7 +955,7 @@ msgstr "Mostrar selecção de editores" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Idiomas" @@ -979,7 +979,7 @@ msgstr "Formatos de arquivo" msgid "Show file formats selection" msgstr "Mostrar seleção de formatos de arquivo" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Livros Arquivados" @@ -987,7 +987,7 @@ msgstr "Livros Arquivados" msgid "Show archived books" msgstr "Mostrar livros arquivados" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Lista de Livros" @@ -1042,7 +1042,7 @@ msgstr "O livro foi removido da estante: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Crie uma estante" @@ -1126,177 +1126,177 @@ msgstr "Uma nova atualização está disponível. Clique no botão abaixo para a msgid "No release information available" msgstr "Não há informações de lançamento disponíveis" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Descobrir (Livros Aleatórios)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Hot Books (Os Mais Descarregados)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Livros baixados por %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Autor: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Editor: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Série: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Avaliação: %(rating)s estrelas" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Formato do arquivo: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Categoria: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Idioma: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Pesquisa Avançada" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Pesquisa" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Lista de classificações" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Lista de formatos de arquivo" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Tarefas" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Publicado depois de " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Publicado antes de " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Avaliação <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Avaliação >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Status de leitura = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Livro enfileirado com sucesso para envio para %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Ups! Ocorreu um erro ao enviar este livro: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Por favor, atualize seu perfil com um endereço de e-mail válido para Kindle." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "O servidor de E-Mail não está configurado, por favor contacte o seu administrador!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registe-se" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Seu e-mail não tem permissão para registrar" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "O e-mail de confirmação foi enviado para a sua conta de e-mail." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Não é possível ativar a autenticação LDAP" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Login de reserva como:'%(nickname)s', servidor LDAP não acessível ou usuário desconhecido" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Não foi possível fazer o login: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Nome de usuário ou senha incorretos" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Nova senha foi enviada para seu endereço de e-mail" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Por favor, digite um nome de usuário válido para redefinir a senha" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Você agora está logado como: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Perfil de %(name)s's" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Perfil atualizado" @@ -1357,7 +1357,7 @@ msgstr "Endereço de e-mail" msgid "Send to Kindle E-mail Address" msgstr "Enviar para o endereço de e-mail do Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1367,7 +1367,7 @@ msgstr "Admin" msgid "Password" msgstr "Senha" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Upload" @@ -1559,7 +1559,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1657,13 +1657,13 @@ msgstr "Converter livro" msgid "Book Title" msgstr "Título do Livro" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Descrição" @@ -1671,15 +1671,15 @@ msgstr "Descrição" msgid "Identifiers" msgstr "Identificadores" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Tipo de identificador" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Valor do Identificador" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Remover" @@ -1700,90 +1700,90 @@ msgstr "Identificação da série" msgid "Rating" msgstr "Classificação" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Buscar capa na URL (JPEG - Imagem será baixada e armazenada na base de dados)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Upload de capa do disco local" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Data de Publicação" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editora" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Idioma" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Sim" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Não" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Formato de upload" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Ver Livro ao salvar" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Buscar Metadados" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Salvar" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Palavra-chave" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Pesquisar palavra-chave " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Clique na capa para carregar os metadados para o formulário" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "A carregar..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Fechar" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Fonte" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Erro de busca!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Nenhum resultado(s) encontrado(s)! Por favor, tente outra palavra-chave." @@ -1988,6 +1988,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Habilitar Uploads" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Upload de formatos de arquivo permitidos" @@ -2349,7 +2353,7 @@ msgid "Add to shelf" msgstr "Adicionar à estante" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Público)" @@ -2424,7 +2428,7 @@ msgstr "Digite o nome do domínio" msgid "Denied Domains (Blacklist)" msgstr "Domínios negados (Blacklist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Próximo" @@ -2535,7 +2539,7 @@ msgstr "Livros encomendados por Rating" msgid "Books ordered by file formats" msgstr "Livros ordenados por formatos de arquivo" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Prateleiras" @@ -2556,48 +2560,48 @@ msgstr "Alternar a navegação" msgid "Search Library" msgstr "Biblioteca de Pesquisa" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Enviando..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Erro" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Upload feito, processando, por favor aguarde ..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Configurações" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Conta" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Sair" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Por favor, não atualize a página" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Navegue em" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Sobre" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Anterior" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Detalhes do Livro" diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo index c9e01aa727415d38b3f381d25a5ba2ac02b5982b..dad3b9e5be322aac9a81eb4a0a8489b9696ec570 100644 GIT binary patch delta 8366 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 O*!#Lq(X_rfWBv!?x>u9{ delta 8466 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 diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index 8801f2ac..62b48c02 100644 --- a/cps/translations/ru/LC_MESSAGES/messages.po +++ b/cps/translations/ru/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2020-04-29 01:20+0400\n" "Last-Translator: ZIZA\n" "Language: ru\n" @@ -47,9 +47,9 @@ msgstr "Успешно переподключено" msgid "Unknown command" msgstr "Неизвестная команда" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Неизвестно" @@ -306,7 +306,7 @@ msgstr "Настройки E-mail сервера обновлены" msgid "Database Configuration" msgstr "Дополнительный Настройки" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Пожалуйста, заполните все поля!" @@ -351,7 +351,7 @@ msgstr "Изменить пользователя %(nick)s" msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Неизвестная ошибка. Попробуйте позже." @@ -386,7 +386,7 @@ msgstr "Настройки E-mail сервера обновлены" msgid "Password for user %(user)s reset" msgstr "Пароль для пользователя %(user)s сброшен" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Пожалуйста, сперва настройте параметры SMTP....." @@ -486,108 +486,108 @@ msgstr "не настроено" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Невозможно открыть книгу. Файл не существует или недоступен" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s не допустимый язык" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Не удалось сохранить файл %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Формат файла %(ext)s добавлен в %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Метаданные обновлены" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Ошибка редактирования книги. Пожалуйста, проверьте лог-файл для дополнительной информации" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Файл %(filename)s не удалось сохранить во временную папку" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Файл %(file)s загружен" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Исходный или целевой формат для конвертирования отсутствует" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Произошла ошибка при конвертирования этой книги: %(res)s" @@ -695,7 +695,7 @@ msgstr "Файл %(file)s не найден на Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Путь книги %(path)s не найден на Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Этот адрес электронной почты уже зарегистрирован." @@ -777,7 +777,7 @@ msgstr "Настройка Kobo" msgid "Register with %(provider)s" msgstr "Зарегистрируйтесь с %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "вы вошли как пользователь '%(nickname)s'" @@ -842,8 +842,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Логин" @@ -859,7 +859,7 @@ msgstr "Ключ просрочен" msgid "Success! Please return to your device" msgstr "Успешно! Пожалуйста, проверьте свое устройство" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Книги" @@ -884,7 +884,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Книги с наилучшим рейтингом" @@ -893,7 +893,7 @@ msgid "Show Top Rated Books" msgstr "Показывать книги с наивысшим рейтингом" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Прочитанные Книги" @@ -902,7 +902,7 @@ msgid "Show read and unread" msgstr "Показывать прочитанные и непрочитанные" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Непрочитанные Книги" @@ -920,7 +920,7 @@ msgid "Show Random Books" msgstr "Показывать Случайные Книги" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Категории" @@ -930,7 +930,7 @@ msgstr "Показывать выбор категории" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Серии" @@ -948,7 +948,7 @@ msgid "Show author selection" msgstr "Показывать выбор автора" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Издатели" @@ -958,7 +958,7 @@ msgstr "Показать выбор издателя" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Языки" @@ -982,7 +982,7 @@ msgstr "Форматы файлов" msgid "Show file formats selection" msgstr "Показать выбор форматов файлов" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -990,7 +990,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1045,7 +1045,7 @@ msgstr "Книга удалена с полки: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Создать полку" @@ -1129,177 +1129,177 @@ msgstr "Новое обновление доступно. Нажмите на к msgid "No release information available" msgstr "Информация о выпуске недоступна" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Обзор (Случайные Книги)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Популярные книги (часто загружаемые)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Автор: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Издатель: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Серии: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Оценка: %(rating)s звезды(а)" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Формат файла: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Категория: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Язык: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Расширенный поиск" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Поиск" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Скачать" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Список рейтингов" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Список форматов файлов" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Задания" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Опубликовано после " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Опубликовано до " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Рейтинг <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Рейтинг >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "При отправке этой книги произошла ошибка: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "Сервер электронной почты не настроен, обратитесь к администратору !" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Зарегистрироваться" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Ваш e-mail не подходит для регистрации" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Письмо с подтверждением отправлено вам на e-mail." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Не удается активировать LDAP аутентификацию" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Резервный вход в систему как: '%(nickname)s', LDAP-сервер недоступен или пользователь не известен" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Не удалось войти: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Ошибка в имени пользователя или пароле" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Новый пароль был отправлен на ваш адрес электронной почты" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Вы вошли как: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Профиль %(name)s's" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Профиль обновлён" @@ -1360,7 +1360,7 @@ msgstr "Адрес электронной почты" msgid "Send to Kindle E-mail Address" msgstr "Отправить на Kindle Адрес электронной почты" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Управление" @@ -1370,7 +1370,7 @@ msgstr "Управление" msgid "Password" msgstr "Пароль" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Загрузить" @@ -1562,7 +1562,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1660,13 +1660,13 @@ msgstr "Конвертировать книгу" msgid "Book Title" msgstr "Название книги" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Автор" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Описание" @@ -1674,15 +1674,15 @@ msgstr "Описание" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1703,90 +1703,90 @@ msgstr "ID Серии" msgid "Rating" msgstr "Рейтинг" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "URL обложки(jpg, обложка загружается и сохраняется в базе данных, после этого поле снова пустое)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Загрузить обложку с диска" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Опубликовано" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Издатель" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Язык" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Да" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Нет" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Загружаемый формат" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Просмотреть книгу после сохранения" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Получить метаданные" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Сохранить" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Ключевое слово" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Поиск по ключевому слову " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Нажмите на обложку, чтобы получить метаданные" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Загрузка..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Закрыть" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Источник" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Ошибка поиска!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Результат(ы) не найдены! Попробуйте другое ключевое слово." @@ -1991,6 +1991,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Разрешить загрузку на сервер" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2352,7 +2356,7 @@ msgid "Add to shelf" msgstr "Добавить на книжную полку" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Публичная)" @@ -2427,7 +2431,7 @@ msgstr "Введите доменное имя" msgid "Denied Domains (Blacklist)" msgstr "Запрещенные домены (черный список)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Далее" @@ -2538,7 +2542,7 @@ msgstr "Книги, упорядоченные по рейтингу" msgid "Books ordered by file formats" msgstr "Книги отсортированы по формату файла" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Полки" @@ -2559,48 +2563,48 @@ msgstr "Включить навигацию" msgid "Search Library" msgstr "Поиск в библиотеке" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Загружается..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Ошибка" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Загрузка завершена, обработка, пожалуйста, подождите..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Настройки" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Учетная запись" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Выход" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Пожалуйста не обновляйте страницу" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Просмотр" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "О программе" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Предыдущий" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Подробнее о книге" diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo index bcc70e3b1748b341296777a03c40c681dd90da56..fbf3c9e5da7da25db7a17c8be496be29c6f377e0 100644 GIT binary patch delta 11083 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 Nyf%9Gv2nZd{tM)N@D2a~ diff --git a/cps/translations/sv/LC_MESSAGES/messages.po b/cps/translations/sv/LC_MESSAGES/messages.po index 9f5a6a41..7e960eea 100644 --- a/cps/translations/sv/LC_MESSAGES/messages.po +++ b/cps/translations/sv/LC_MESSAGES/messages.po @@ -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: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2021-05-13 11:00+0000\n" "Last-Translator: Jonatan Nyberg \n" "Language: sv\n" @@ -46,9 +46,9 @@ msgstr "Återanslutning lyckades" msgid "Unknown command" msgstr "Okänt kommando" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Okänd" @@ -303,7 +303,7 @@ msgstr "E-postserverinställningar uppdaterade" msgid "Database Configuration" msgstr "Funktion konfiguration" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Fyll i alla fält!" @@ -347,7 +347,7 @@ msgstr "Redigera användaren %(nick)s" msgid "User '%(nick)s' updated" msgstr "Användaren '%(nick)s' uppdaterad" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Ett okänt fel uppstod. Försök igen senare." @@ -383,7 +383,7 @@ msgstr "E-postserverinställningar uppdaterade" msgid "Password for user %(user)s reset" msgstr "Lösenord för användaren %(user)s återställd" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Konfigurera SMTP-postinställningarna först..." @@ -483,108 +483,108 @@ msgstr "inte konfigurerad" msgid "Execution permissions missing" msgstr "Körningstillstånd saknas" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "Anpassad kolumn n.%(column)d finns inte i calibre-databasen" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "Bokformat har tagits bort" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "Boken har tagits bort" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Hoppsan! Vald boktitel är inte tillgänglig. Filen finns inte eller är inte tillgänglig" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "redigera metadata" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s är inte ett giltigt språk" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Filändelsen '%(ext)s' får inte laddas upp till den här servern" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Filen som ska laddas upp måste ha en ändelse" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Det gick inte att skapa sökväg %(path)s (behörighet nekad)." -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "Det gick inte att lagra filen %(file)s." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "Databasfel: %(error)s." -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformatet %(ext)s lades till %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifierare är inte skiftlägeskänsliga, skriver över gammal identifierare" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metadata uppdaterades" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Det gick inte att redigera boken, kontrollera loggfilen för mer information" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Uppladdad bok finns förmodligen i biblioteket, överväg att ändra innan du laddar upp nya: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Filen %(filename)s kunde inte sparas i temp dir" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Det gick inte att flytta omslagsfil %(file)s: %(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "Filen %(file)s uppladdad" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Källa eller målformat för konvertering saknas" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Boken är i kö för konvertering till %(book_format)s" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det gick inte att konvertera den här boken: %(res)s" @@ -692,7 +692,7 @@ msgstr "Filen %(file)s hittades inte på Google Drive" msgid "Book path %(path)s not found on Google Drive" msgstr "Boksökvägen %(path)s hittades inte på Google Drive" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "Hittade ett befintligt konto för den här e-postadressen" @@ -773,7 +773,7 @@ msgstr "Kobo-installation" msgid "Register with %(provider)s" msgstr "Registrera dig med %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "du är nu inloggad som: \"%(nickname)s\"" @@ -838,8 +838,8 @@ msgstr "Google Oauth-fel: {}" msgid "{} Stars" msgstr "{} stjärnor" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Logga in" @@ -855,7 +855,7 @@ msgstr "Token har löpt ut" msgid "Success! Please return to your device" msgstr "Lyckades! Vänligen återvänd till din enhet" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "Böcker" @@ -880,7 +880,7 @@ msgstr "Hämtade böcker" msgid "Show Downloaded Books" msgstr "Visa hämtade böcker" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Bäst rankade böcker" @@ -889,7 +889,7 @@ msgid "Show Top Rated Books" msgstr "Visa böcker med bästa betyg" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Lästa böcker" @@ -898,7 +898,7 @@ msgid "Show read and unread" msgstr "Visa lästa och olästa" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Olästa böcker" @@ -916,7 +916,7 @@ msgid "Show Random Books" msgstr "Visa slumpmässiga böcker" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategorier" @@ -926,7 +926,7 @@ msgstr "Visa kategorival" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Serier" @@ -944,7 +944,7 @@ msgid "Show author selection" msgstr "Visa författarval" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Förlag" @@ -954,7 +954,7 @@ msgstr "Visa urval av förlag" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Språk" @@ -978,7 +978,7 @@ msgstr "Filformat" msgid "Show file formats selection" msgstr "Visa val av filformat" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "Arkiverade böcker" @@ -986,7 +986,7 @@ msgstr "Arkiverade böcker" msgid "Show archived books" msgstr "Visa arkiverade böcker" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "Boklista" @@ -1041,7 +1041,7 @@ msgstr "Boken har tagits bort från hyllan: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Skapa en hylla" @@ -1125,177 +1125,177 @@ msgstr "En ny uppdatering är tillgänglig. Klicka på knappen nedan för att up msgid "No release information available" msgstr "Ingen versionsinformation tillgänglig" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Upptäck (slumpmässiga böcker)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Heta böcker (mest hämtade)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "Hämtade böcker av %(user)s" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Författare: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Förlag: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Serier: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Betyg: %(rating)s stars" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Filformat: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Språk: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Avancerad sökning" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Sök" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "Hämtningar" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Betygslista" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Lista över filformat" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Uppgifter" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Publicerad efter " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Publicerad före " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Betyg <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Betyg >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "Lässtatus = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Boken är i kö för att skicka till %(kindlemail)s" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Det gick inte att skicka den här boken: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "Konfigurera din kindle-e-postadress först..." -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "E-postservern är inte konfigurerad, kontakta din administratör!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Registrera" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "Din e-post är inte tillåten att registrera" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Bekräftelsemail skickades till ditt e-postkonto." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "Det går inte att aktivera LDAP-autentisering" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "Det gick inte att logga in: %(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Fel användarnamn eller lösenord" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Nytt lösenord skickades till din e-postadress" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Ange giltigt användarnamn för att återställa lösenordet" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Du är nu inloggad som: \"%(nickname)s\"" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)ss profil" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profilen uppdaterad" @@ -1356,7 +1356,7 @@ msgstr "E-post" msgid "Send to Kindle E-mail Address" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Administratör" @@ -1366,7 +1366,7 @@ msgstr "Administratör" msgid "Password" msgstr "Lösenord" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Ladda upp" @@ -1558,7 +1558,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1656,13 +1656,13 @@ msgstr "Konvertera boken" msgid "Book Title" msgstr "Boktitel" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Författare" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Beskrivning" @@ -1670,15 +1670,15 @@ msgstr "Beskrivning" msgid "Identifiers" msgstr "Identifierare" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "Identifierartyp" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "Identifierarvärde" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "Ta bort" @@ -1699,90 +1699,90 @@ msgstr "Serie-ID" msgid "Rating" msgstr "Betyg" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "Omslagswebbadress (jpg, omslag hämtas och lagras i databasen, fältet är efteråt tomt igen)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "Ladda upp omslag från lokal enhet" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Publiceringsdatum" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Förlag" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Språk" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Nej" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Ladda upp format" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "Visa bok vid Spara" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Hämta metadata" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "Spara" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Sökord" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Sök sökord " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Klicka på omslaget för att läsa in metadata till formuläret" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Läser in..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Stäng" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Källa" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Sökningsfel!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "Inga resultat hittades! Försök med ett annat sökord." @@ -1987,6 +1987,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Aktivera uppladdning" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "Tillåtna filformat för uppladdning" @@ -2348,7 +2352,7 @@ msgid "Add to shelf" msgstr "Lägg till hyllan" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(Publik)" @@ -2424,7 +2428,7 @@ msgstr "Ange domännamn" msgid "Denied Domains (Blacklist)" msgstr "Avvisade domäner för registrering" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Nästa" @@ -2535,7 +2539,7 @@ msgstr "Böcker sorterade efter Betyg" msgid "Books ordered by file formats" msgstr "Böcker ordnade av filformat" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Hyllor" @@ -2556,48 +2560,48 @@ msgstr "Växla navigering" msgid "Search Library" msgstr "Sök i bibliotek" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Laddar upp..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Fel" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Uppladdning klar, bearbetning, vänligen vänta ..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Inställningar" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Konto" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Logga ut" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "Vänligen uppdatera inte sidan" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Bläddra" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Om" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Föregående" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Bokdetaljer" diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo index 5c8bf24905e2de521ca9a7a8a5b74016a6790148..1aa97504f98200f4ce98da6a430c463a655fadbd 100644 GIT binary patch delta 5513 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 delta 5610 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\n" "Language: tr\n" @@ -46,9 +46,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Bilinmeyen" @@ -300,7 +300,7 @@ msgstr "E-posta sunucusu ayarları güncellendi" msgid "Database Configuration" msgstr "Özellik Yapılandırması" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Lütfen tüm alanları doldurun!" @@ -345,7 +345,7 @@ msgstr "%(nick)s kullanıcısını düzenle" msgid "User '%(nick)s' updated" msgstr "'%(nick)s' kullanıcısı güncellendi" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." @@ -380,7 +380,7 @@ msgstr "E-posta sunucusu ayarları güncellendi" msgid "Password for user %(user)s reset" msgstr "%(user)s kullanıcısının şifresi sıfırlandı" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..." @@ -479,108 +479,108 @@ msgstr "ayarlanmadı" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "metaveri düzenle" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s geçerli bir dil değil" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "'%(ext)s' uzantılı dosyaların bu sunucuya yüklenmesine izin verilmiyor" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s dosyası kaydedilemedi." -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "Metaveri başarıyla güncellendi" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "eKitap düzenlenirken hata oluştu, detaylar için lütfen log dosyasını kontrol edin" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Yüklenen eKitap muhtemelen kitaplıkta zaten var. Yenisini yüklemeden değiştirmeyi düşünün: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "%(file)s dosyası yüklendi" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "Dönüştürme için kaynak ya da hedef biçimi eksik" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "eKitap %(book_format)s formatlarına dönüştürülmek üzere başarıyla sıraya alındı" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Bu eKitabı dönüştürürken bir hata oluştu: %(res)s" @@ -688,7 +688,7 @@ msgstr "%(file)s dosyası Google Drive'da bulunamadı" msgid "Book path %(path)s not found on Google Drive" msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "Bu e-posta adresi için bir hesap mevcut." @@ -770,7 +770,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "%(provider)s ile Kaydol" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "giriş yaptınız: '%(nickname)s'" @@ -835,8 +835,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Giriş" @@ -852,7 +852,7 @@ msgstr "Token süresi doldu" msgid "Success! Please return to your device" msgstr "Başarılı! Lütfen cihazınıza dönün" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "eKitaplar" @@ -877,7 +877,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "" @@ -886,7 +886,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Okunanlar" @@ -895,7 +895,7 @@ msgid "Show read and unread" msgstr "Okunan ve okunmayanları göster" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Okunmamışlar" @@ -913,7 +913,7 @@ msgid "Show Random Books" msgstr "Rastgele Kitap Göster" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Kategoriler" @@ -923,7 +923,7 @@ msgstr "Kategori seçimini göster" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Seriler" @@ -941,7 +941,7 @@ msgid "Show author selection" msgstr "Yazar seçimini göster" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "Yayıncılar" @@ -951,7 +951,7 @@ msgstr "Yayıncı seçimini göster" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Diller" @@ -975,7 +975,7 @@ msgstr "Biçimler" msgid "Show file formats selection" msgstr "Dosya biçimi seçimini göster" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -983,7 +983,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1038,7 +1038,7 @@ msgstr "eKitap kitaplıktan silindi: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "Kitaplık oluştur" @@ -1122,177 +1122,177 @@ msgstr "Yeni bir güncelleme mevcut. Son sürüme güncellemek için aşağıdak msgid "No release information available" msgstr "Sürüm bilgisi mevcut değil" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Keşfet (Rastgele)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "Yazar: %(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "Yayınevi: %(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Seri: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "Değerlendirme: %(rating)s yıldız" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "Biçim: %(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Dil: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Gelişmiş Arama" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Ara" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "Değerlendirme listesi" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "Biçim listesi" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "Görevler" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "Yayınlanma (sonra)" -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Yayınlanma (önce)" -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "Değerlendirme <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "Değerlendirme >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "%(kindlemail)s'a gönderilmek üzere başarıyla sıraya alındı" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "E-Posta sunucusu ayarlanmadı, lütfen yöneticinizle iletişime geçin!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Kayıt ol" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Onay e-Postası hesabınıza gönderildi." -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Yanlış Kullanıcı adı ya da Şifre" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "Yeni şifre e-Posta adresinize gönderildi" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "Giriş yaptınız: '%(nickname)s'" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s Profili" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Profil güncellendi" @@ -1353,7 +1353,7 @@ msgstr "" msgid "Send to Kindle E-mail Address" msgstr "" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Yönetim" @@ -1363,7 +1363,7 @@ msgstr "Yönetim" msgid "Password" msgstr "Şifre" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Yükleme" @@ -1555,7 +1555,7 @@ msgid "OK" msgstr "" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1653,13 +1653,13 @@ msgstr "eKitabı dönüştür" msgid "Book Title" msgstr "Kitap Adı" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Yazar" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Açıklama" @@ -1667,15 +1667,15 @@ msgstr "Açıklama" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1696,90 +1696,90 @@ msgstr "" msgid "Rating" msgstr "Değerlendirme" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Yayınevi" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Dil" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Evet" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Hayır" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Anahtar Kelime" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr "Anahtar kelime ara" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Forma metaveri yüklemek için kapağa tıklayın" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Yükleniyor..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Kapak" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Kaynak" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Arama hatası!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "" @@ -1983,6 +1983,10 @@ msgstr "" msgid "Enable Uploads" msgstr "" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2343,7 +2347,7 @@ msgid "Add to shelf" msgstr "Kitaplığa ekle" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2418,7 +2422,7 @@ msgstr "Servis adı girin" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Sonraki" @@ -2529,7 +2533,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "Biçime göre sıralanmış eKitaplar" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2550,48 +2554,48 @@ msgstr "" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Yükleniyor..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "Hata" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "Yükleme tamamlandı, işleniyor, lütfen bekleyin..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Ayarlar" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "Hesap" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Çıkış" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Gözat" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Hakkında" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Önceki" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "eKitap Detayları" diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo index 548354ee56f661f107269a1cdadd51637ed35d36..30a109690e5eb4bf367e74d318b34c5c6f66def1 100644 GIT binary patch delta 25 hcmaFU!}z9$al<@$E+bt769q#9D^ugmE98%;0RVdJ2($nI delta 25 hcmaFU!}z9$al<@$E<;@-V+BJ?D\n" "Language: uk\n" @@ -45,9 +45,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "Невідомий" @@ -303,7 +303,7 @@ msgstr "З'єднання з базою даних закрите" msgid "Database Configuration" msgstr "Особливі налаштування" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "Будь-ласка, заповніть всі поля!" @@ -347,7 +347,7 @@ msgstr "Змінити користувача %(nick)s" msgid "User '%(nick)s' updated" msgstr "Користувача '%(nick)s' оновлено" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "" @@ -382,7 +382,7 @@ msgstr "" msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP" @@ -480,108 +480,108 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу." -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "змінити метадані" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 +#: cps/editbooks.py:490 cps/editbooks.py:954 #, python-format -msgid "%(langname)s is not a valid language" +msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "Завантажувальний файл повинен мати розширення" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "Сталась помилка при редагуванні книги. Будь-ласка, перевірте лог-файл для деталей" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -689,7 +689,7 @@ msgstr "" msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "" @@ -770,7 +770,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Ви увійшли як користувач: '%(nickname)s'" @@ -835,8 +835,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "Ім'я користувача" @@ -852,7 +852,7 @@ msgstr "Час дії токено вичерпано" msgid "Success! Please return to your device" msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "" @@ -877,7 +877,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "Книги з найкращим рейтингом" @@ -886,7 +886,7 @@ msgid "Show Top Rated Books" msgstr "Показувати книги з найвищим рейтингом" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "Прочитані книги" @@ -895,7 +895,7 @@ msgid "Show read and unread" msgstr "Показувати прочитані та непрочитані книги" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "Непрочитані книги" @@ -913,7 +913,7 @@ msgid "Show Random Books" msgstr "Показувати випадкові книги" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "Категорії" @@ -923,7 +923,7 @@ msgstr "Показувати вибір категорії" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "Серії" @@ -941,7 +941,7 @@ msgid "Show author selection" msgstr "Показувати вибір автора" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "" @@ -951,7 +951,7 @@ msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "Мови" @@ -975,7 +975,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -983,7 +983,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1038,7 +1038,7 @@ msgstr "Книга видалена з книжкової полиці: %(sname) msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "створити книжкову полицю" @@ -1122,177 +1122,177 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "Огляд (випадкові книги)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "Популярні книги (найбільш завантажувані)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "Серії: %(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "Категорія: %(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "Мова: %(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "Розширений пошук" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "Пошук" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "DLS" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "" -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "Опубліковано до" -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "Помилка при відправці книги: %(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "Зареєструватись" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "Помилка в імені користувача або паролі" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "Профіль %(name)s" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "Профіль оновлено" @@ -1353,7 +1353,7 @@ msgstr "" msgid "Send to Kindle E-mail Address" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Адмін" @@ -1363,7 +1363,7 @@ msgstr "Адмін" msgid "Password" msgstr "Пароль" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "Додати нову книгу" @@ -1555,7 +1555,7 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1653,13 +1653,13 @@ msgstr "" msgid "Book Title" msgstr "Назва книги" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "Автор" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "Опис" @@ -1667,15 +1667,15 @@ msgstr "Опис" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1696,90 +1696,90 @@ msgstr "" msgid "Rating" msgstr "Рейтинг" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "Опубліковано" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "Видавець" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "Мова" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "Так" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "Ні" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "Формат завантаження" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "переглянути книгу після редагування" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "Отримати метадані" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "Ключове слово" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " Пошук по ключовому слову" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "Натисніть на обкладинку, щоб отримати метадані" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "Завантаження..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "Закрити" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "Джерело" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "Помилка пошуку!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "" @@ -1982,6 +1982,10 @@ msgstr "" msgid "Enable Uploads" msgstr "Дозволити завантаження книг на сервер" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2343,7 +2347,7 @@ msgid "Add to shelf" msgstr "Додати на книжкову полицю" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2418,7 +2422,7 @@ msgstr "" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "Далі" @@ -2528,7 +2532,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2549,48 +2553,48 @@ msgstr "Включити навігацію" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "Завантаження..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "Налаштування" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "Вийти" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "Перегляд" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "Про програму" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "Попередній перегляд" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "Деталі" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index 68c4f8e70b30fc4186edd49a73bf732f79810a61..2b44952ea1449f8fcd48480eb15caaf37741de8d 100644 GIT binary patch delta 11678 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

    BXV>Pi}cO^9Q#9`?jK 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\n" "Language: zh_CN\n" @@ -46,9 +46,9 @@ msgstr "重新连接成功" msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "未知" @@ -298,7 +298,7 @@ msgstr "邮件服务器设置已更新" msgid "Database Configuration" msgstr "数据库配置" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "请填写所有字段!" @@ -342,7 +342,7 @@ msgstr "编辑用户 %(nick)s" msgid "User '%(nick)s' updated" msgstr "用户“%(nick)s”已更新" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试。" @@ -377,7 +377,7 @@ msgstr "邮件服务器设置已更新" msgid "Password for user %(user)s reset" msgstr "用户 %(user)s 的密码已重置" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "请先配置SMTP邮箱设置..." @@ -476,108 +476,108 @@ msgstr "未配置" msgid "Execution permissions missing" msgstr "缺少执行权限" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "自定义列号:%(column)d在Calibre数据库中不存在" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "书籍格式已成功删除" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "书籍已成功删除" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "编辑元数据" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一个有效的数值,忽略" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s 不是一种有效语言" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须具有扩展名" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "创建路径 %(path)s 失败(权限拒绝)。" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败。" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "数据库错误:%(error)s。" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "标识符不区分大小写,覆盖旧标识符" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "已成功更新元数据" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "编辑书籍出错,请检查日志文件以获取详细信息" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上传的书籍可能已经存在,建议修改后重新上传: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 无法保存到临时目录" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移动封面文件失败 %(file)s:%(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上传" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "转换的源或目的格式缺失" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "书籍已经被成功加入到 %(book_format)s 格式转换队列" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "转换此书籍时出现错误: %(res)s" @@ -685,7 +685,7 @@ msgstr "Google Drive上找不到文件 %(file)s" msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到书籍路径 %(path)s" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "使用此邮箱的账号已经存在。" @@ -766,7 +766,7 @@ msgstr "Kobo 设置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 注册" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)s”身份登录" @@ -831,8 +831,8 @@ msgstr "Google Oauth 错误: {}" msgid "{} Stars" msgstr "{} 星" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "登录" @@ -848,7 +848,7 @@ msgstr "Token已过期" msgid "Success! Please return to your device" msgstr "成功!请返回您的设备" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "书籍" @@ -873,7 +873,7 @@ msgstr "下载历史" msgid "Show Downloaded Books" msgstr "显示下载过的书籍" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "最高评分书籍" @@ -882,7 +882,7 @@ msgid "Show Top Rated Books" msgstr "显示最高评分书籍" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "已读书籍" @@ -891,7 +891,7 @@ msgid "Show read and unread" msgstr "显示阅读状态" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "未读书籍" @@ -909,7 +909,7 @@ msgid "Show Random Books" msgstr "显示随机书籍" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "分类" @@ -919,7 +919,7 @@ msgstr "显示分类选择" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "丛书" @@ -937,7 +937,7 @@ msgid "Show author selection" msgstr "显示作者选择" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "出版社" @@ -947,7 +947,7 @@ msgstr "显示出版社选择" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "语言" @@ -971,7 +971,7 @@ msgstr "文件格式" msgid "Show file formats selection" msgstr "显示文件格式选择" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "归档书籍" @@ -979,7 +979,7 @@ msgstr "归档书籍" msgid "Show archived books" msgstr "显示归档书籍" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "书籍列表" @@ -1033,7 +1033,7 @@ msgstr "此书已从书架 %(sname)s 中删除" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "创建书架" @@ -1116,177 +1116,177 @@ msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s" msgid "No release information available" msgstr "无可用发布信息" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "发现(随机书籍)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "热门书籍(最多下载)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下载过的书籍" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "丛书:%(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "评分:%(rating)s 星" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "文件格式:%(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "分类:%(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "语言:%(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "高级搜索" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "搜索" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "下载次数" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "评分列表" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "文件格式列表" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "任务列表" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "出版时间晚于 " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "出版时间早于 " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "评分 <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "评分 >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "阅读状态 = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "搜索自定义列时出错,请重启 Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "书籍已经成功加入 %(kindlemail)s 的发送队列" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "请先配置您的kindle邮箱。" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "邮件服务未配置,请联系网站管理员!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "注册" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "您的电子邮件不允许注册" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "确认邮件已经发送到您的邮箱。" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "无法激活LDAP认证" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "后备登录“%(nickname)s”:无法访问LDAP服务器,或用户未知" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "无法登录:%(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "用户名或密码错误" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "新密码已发送到您的邮箱" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "请输入有效的用户名进行密码重置" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)s”登录" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的用户配置" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "资料已更新" @@ -1347,7 +1347,7 @@ msgstr "邮箱地址" msgid "Send to Kindle E-mail Address" msgstr "接收书籍的Kindle邮箱地址" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理权限" @@ -1357,7 +1357,7 @@ msgstr "管理权限" msgid "Password" msgstr "密码" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "上传书籍" @@ -1548,7 +1548,7 @@ msgid "OK" msgstr "确定" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1646,13 +1646,13 @@ msgstr "转换书籍" msgid "Book Title" msgstr "书名" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "作者" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "简介" @@ -1660,15 +1660,15 @@ msgstr "简介" msgid "Identifiers" msgstr "书号" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "书号类型" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "书号编号" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "移除" @@ -1689,90 +1689,90 @@ msgstr "丛书编号" msgid "Rating" msgstr "评分" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "从URL获取封面(JPEG - 图片将下载并存储在数据库中)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "从本地磁盘上传封面" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "出版日期" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "语言" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "确认" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "没有" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "上传格式" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "查看保存书籍" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "获取元数据" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "保存" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "关键字" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " 搜索关键字 " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "单击封面将元数据加载到表单" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "加载中..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "关闭" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "源" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "搜索错误!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "无搜索结果!请尝试另一个关键字。" @@ -1976,6 +1976,10 @@ msgstr "" msgid "Enable Uploads" msgstr "启用上传" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "允许上传的文件格式" @@ -2337,7 +2341,7 @@ msgid "Add to shelf" msgstr "添加到书架" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(公共)" @@ -2412,7 +2416,7 @@ msgstr "输入域名" msgid "Denied Domains (Blacklist)" msgstr "禁止注册的域名(黑名单)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "下一个" @@ -2522,7 +2526,7 @@ msgstr "书籍按评分排序" msgid "Books ordered by file formats" msgstr "书籍按文件格式排序" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "书架列表" @@ -2543,48 +2547,48 @@ msgstr "切换导航" msgid "Search Library" msgstr "搜索书库" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "正在上传..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "错误" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "上传完成,正在处理,请稍候..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "设置" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "账号" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "注销" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "请不要刷新页面" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "按条件浏览" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "关于" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "上一个" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "书籍详情" diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo index 324e990bdac690c75208d4558db1c608c8c531cd..ee2a2a2e7c107e240f96779096d5678d5b1d4fc8 100644 GIT binary patch delta 11712 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 aO;XaDCNxgVY?i(y`MGPQwq#9;?C^ha&qu=m delta 11803 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 diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po index fd59f532..d4d34dde 100644 --- a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_TW\n" @@ -46,9 +46,9 @@ msgstr "重新連接成功" msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "未知" @@ -298,7 +298,7 @@ msgstr "郵件服務器設置已更新" msgid "Database Configuration" msgstr "數據庫配置" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "請填寫所有欄位!" @@ -342,7 +342,7 @@ msgstr "編輯用戶 %(nick)s" msgid "User '%(nick)s' updated" msgstr "用戶“%(nick)s”已更新" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "發生一個未知錯誤,請稍後再試。" @@ -377,7 +377,7 @@ msgstr "郵件服務器設置已更新" msgid "Password for user %(user)s reset" msgstr "用戶 %(user)s 的密碼已重置" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "請先配置SMTP郵箱設置..." @@ -476,108 +476,108 @@ msgstr "未配置" msgid "Execution permissions missing" msgstr "缺少執行權限" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "自定義列號:%(column)d在Calibre數據庫中不存在" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "書籍格式已成功刪除" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "書籍已成功刪除" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "編輯元數據" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一個有效的數值,忽略" -#: cps/editbooks.py:491 -#, python-format -msgid "%(langname)s is not a valid language" +#: cps/editbooks.py:490 cps/editbooks.py:954 +#, fuzzy, python-format +msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s 不是一種有效語言" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "要上傳的文件必須具有附檔名" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "創建路徑 %(path)s 失敗(權限拒絕)。" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失敗。" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "數據庫錯誤:%(error)s。" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "標識符不區分大小寫,覆蓋舊標識符" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "已成功更新元數據" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "編輯書籍出錯,請檢查日誌文件以獲取詳細信息" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上傳的書籍可能已經存在,建議修改後重新上傳: " -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 無法保存到臨時目錄" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移動封面文件失敗 %(file)s:%(error)s" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上傳" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "轉換的來源或目的格式不存在" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "書籍已經被成功加入到 %(book_format)s 格式轉換隊列" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "轉換此書籍時出現錯誤: %(res)s" @@ -685,7 +685,7 @@ msgstr "Google Drive上找不到文件 %(file)s" msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到書籍路徑 %(path)s" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "使用此郵箱的賬號已經存在。" @@ -766,7 +766,7 @@ msgstr "Kobo 設置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 註冊" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "您現在已以“%(nickname)s”身份登入" @@ -831,8 +831,8 @@ msgstr "Google Oauth 錯誤: {}" msgid "{} Stars" msgstr "{} 星" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "登入" @@ -848,7 +848,7 @@ msgstr "Token已過期" msgid "Success! Please return to your device" msgstr "成功!請返回您的設備" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "書籍" @@ -873,7 +873,7 @@ msgstr "已下載書籍" msgid "Show Downloaded Books" msgstr "顯示下載過的書籍" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "最高評分書籍" @@ -882,7 +882,7 @@ msgid "Show Top Rated Books" msgstr "顯示最高評分書籍" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "已讀書籍" @@ -891,7 +891,7 @@ msgid "Show read and unread" msgstr "顯示閱讀狀態" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "未讀書籍" @@ -909,7 +909,7 @@ msgid "Show Random Books" msgstr "隨機顯示書籍" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "分類" @@ -919,7 +919,7 @@ msgstr "顯示分類選擇" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "叢書" @@ -937,7 +937,7 @@ msgid "Show author selection" msgstr "顯示作者選擇" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "出版社" @@ -947,7 +947,7 @@ msgstr "顯示出版社選擇" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "語言" @@ -971,7 +971,7 @@ msgstr "文件格式" msgid "Show file formats selection" msgstr "顯示文件格式選擇" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "歸檔書籍" @@ -979,7 +979,7 @@ msgstr "歸檔書籍" msgid "Show archived books" msgstr "顯示歸檔書籍" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "書籍列表" @@ -1033,7 +1033,7 @@ msgstr "此書已從書架 %(sname)s 中刪除" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "創建書架" @@ -1116,177 +1116,177 @@ msgstr "有新的更新。單擊下面的按鈕以更新到版本: %(version)s" msgid "No release information available" msgstr "無可用發佈信息" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "發現(隨機書籍)" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "熱門書籍(最多下載)" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下載過的書籍" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "叢書:%(serie)s" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "評分:%(rating)s 星" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "文件格式:%(format)s" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "分類:%(name)s" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "語言:%(name)s" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "進階搜尋" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "搜尋" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "下載次數" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "評分列表" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "文件格式列表" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "任務列表" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "出版時間晚於 " -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "出版時間早於 " -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "評分 <= %(rating)s" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "評分 >= %(rating)s" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "閱讀狀態 = %(status)s" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "搜詢自定義欄位時出錯,請重啟 Calibre-Web" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "書籍已經成功加入 %(kindlemail)s 的發送隊列" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "糟糕!發送這本書籍的時候出現錯誤:%(res)s" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "請先設置您的kindle郵箱。" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "郵件服務未配置,請聯繫網站管理員!" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "註冊" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "您的電子郵件不允許註冊" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "確認郵件已經發送到您的郵箱。" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "無法激活LDAP認證" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "備援登入“%(nickname)s”:無法訪問LDAP伺服器,或用戶未知" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "無法登入:%(message)s" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "用戶名或密碼錯誤" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "新密碼已發送到您的郵箱" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "請輸入有效的用戶名進行密碼重置" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "您現在已以“%(nickname)s”登入" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的用戶配置" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "資料已更新" @@ -1347,7 +1347,7 @@ msgstr "郵箱地址" msgid "Send to Kindle E-mail Address" msgstr "接收書籍的Kindle郵箱地址" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理權限" @@ -1357,7 +1357,7 @@ msgstr "管理權限" msgid "Password" msgstr "密碼" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "上傳書籍" @@ -1548,7 +1548,7 @@ msgid "OK" msgstr "確定" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1646,13 +1646,13 @@ msgstr "轉換書籍" msgid "Book Title" msgstr "書名" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "作者" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "簡介" @@ -1660,15 +1660,15 @@ msgstr "簡介" msgid "Identifiers" msgstr "書號" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "書號類型" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "書號編號" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "移除" @@ -1689,90 +1689,90 @@ msgstr "叢書編號" msgid "Rating" msgstr "評分" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "從URL獲取封面(JPEG - 圖片將下載並存儲在數據庫中)" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "從本地硬碟上傳封面" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "出版日期" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "語言" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "確認" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "沒有" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "上傳格式" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "查看保存書籍" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "獲取元數據" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "儲存" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "關鍵字" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 #, fuzzy msgid "Search keyword" msgstr " 搜索關鍵字 " -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "單擊封面將元數據加載到表單" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "加載中..." -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "關閉" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "來源" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "搜索錯誤!" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "無搜索結果!請嘗試另一個關鍵字。" @@ -1976,6 +1976,10 @@ msgstr "儲存到硬碟時同步轉換書名與作者中的非英語字元" msgid "Enable Uploads" msgstr "啟用上傳" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "允許上傳的文件格式" @@ -2337,7 +2341,7 @@ msgid "Add to shelf" msgstr "添加到書架" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "(公共)" @@ -2412,7 +2416,7 @@ msgstr "輸入網域名" msgid "Denied Domains (Blacklist)" msgstr "禁止註冊的網域名(黑名單)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "下一個" @@ -2522,7 +2526,7 @@ msgstr "書籍按評分排序" msgid "Books ordered by file formats" msgstr "書籍按文件格式排序" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "書架列表" @@ -2543,48 +2547,48 @@ msgstr "切換導航" msgid "Search Library" msgstr "搜索書庫" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "正在上傳..." -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "錯誤" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "上傳完成,正在處理中,請稍候..." -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "設置" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "賬號" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "登出" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "請不要刷新頁面" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "瀏覽" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "關於" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "上一個" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "書籍詳情" diff --git a/messages.pot b/messages.pot index 48925886..71c3f1ad 100644 --- a/messages.pot +++ b/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-11-23 19:29+0100\n" +"POT-Creation-Date: 2021-12-04 10:53+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,9 +45,9 @@ msgstr "" msgid "Unknown command" msgstr "" -#: cps/admin.py:167 cps/editbooks.py:704 cps/editbooks.py:718 -#: cps/editbooks.py:859 cps/editbooks.py:861 cps/editbooks.py:888 -#: cps/editbooks.py:904 cps/updater.py:584 cps/uploader.py:93 +#: cps/admin.py:167 cps/editbooks.py:703 cps/editbooks.py:717 +#: cps/editbooks.py:862 cps/editbooks.py:864 cps/editbooks.py:891 +#: cps/editbooks.py:907 cps/updater.py:584 cps/uploader.py:93 #: cps/uploader.py:103 msgid "Unknown" msgstr "" @@ -296,7 +296,7 @@ msgstr "" msgid "Database Configuration" msgstr "" -#: cps/admin.py:1340 cps/web.py:1492 +#: cps/admin.py:1340 cps/web.py:1487 msgid "Please fill out all fields!" msgstr "" @@ -340,7 +340,7 @@ msgstr "" msgid "User '%(nick)s' updated" msgstr "" -#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1517 cps/web.py:1580 +#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1512 cps/web.py:1575 msgid "An unknown error occurred. Please try again later." msgstr "" @@ -375,7 +375,7 @@ msgstr "" msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1613 cps/web.py:1457 +#: cps/admin.py:1613 cps/web.py:1452 msgid "Please configure the SMTP mail settings first..." msgstr "" @@ -473,108 +473,108 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:672 cps/web.py:1168 +#: cps/db.py:651 cps/web.py:675 cps/web.py:1163 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" -#: cps/editbooks.py:306 cps/editbooks.py:308 +#: cps/editbooks.py:305 cps/editbooks.py:307 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:315 cps/editbooks.py:317 +#: cps/editbooks.py:314 cps/editbooks.py:316 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1719 -#: cps/web.py:1760 cps/web.py:1827 +#: cps/editbooks.py:372 cps/editbooks.py:759 cps/web.py:531 cps/web.py:1714 +#: cps/web.py:1755 cps/web.py:1822 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:407 +#: cps/editbooks.py:406 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:455 +#: cps/editbooks.py:454 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:491 +#: cps/editbooks.py:490 cps/editbooks.py:954 #, python-format -msgid "%(langname)s is not a valid language" +msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:631 cps/editbooks.py:974 +#: cps/editbooks.py:630 cps/editbooks.py:981 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:635 cps/editbooks.py:978 +#: cps/editbooks.py:634 cps/editbooks.py:985 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:647 +#: cps/editbooks.py:646 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:652 +#: cps/editbooks.py:651 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1680 +#: cps/editbooks.py:669 cps/editbooks.py:1072 cps/web.py:1675 #, python-format msgid "Database error: %(error)s." msgstr "" -#: cps/editbooks.py:675 +#: cps/editbooks.py:674 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:811 +#: cps/editbooks.py:810 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:845 +#: cps/editbooks.py:844 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:854 +#: cps/editbooks.py:857 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/editbooks.py:892 +#: cps/editbooks.py:895 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:986 +#: cps/editbooks.py:993 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:1005 +#: cps/editbooks.py:1012 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:1052 +#: cps/editbooks.py:1059 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:1077 +#: cps/editbooks.py:1084 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:1085 +#: cps/editbooks.py:1092 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:1089 +#: cps/editbooks.py:1096 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -682,7 +682,7 @@ msgstr "" msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:507 cps/web.py:1675 +#: cps/helper.py:507 cps/web.py:1670 msgid "Found an existing account for this e-mail address" msgstr "" @@ -763,7 +763,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1551 +#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1546 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "" @@ -828,8 +828,8 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:65 cps/templates/layout.html:86 -#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1600 +#: cps/remotelogin.py:65 cps/templates/layout.html:84 +#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1595 msgid "Login" msgstr "" @@ -845,7 +845,7 @@ msgstr "" msgid "Success! Please return to your device" msgstr "" -#: cps/render_template.py:39 cps/web.py:421 +#: cps/render_template.py:39 cps/web.py:424 msgid "Books" msgstr "" @@ -870,7 +870,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:438 msgid "Top Rated Books" msgstr "" @@ -879,7 +879,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:681 +#: cps/templates/index.xml:58 cps/web.py:684 msgid "Read Books" msgstr "" @@ -888,7 +888,7 @@ msgid "Show read and unread" msgstr "" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:684 +#: cps/templates/index.xml:65 cps/web.py:687 msgid "Unread Books" msgstr "" @@ -906,7 +906,7 @@ msgid "Show Random Books" msgstr "" #: cps/render_template.py:69 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1055 +#: cps/templates/index.xml:83 cps/web.py:1050 msgid "Categories" msgstr "" @@ -916,7 +916,7 @@ msgstr "" #: cps/render_template.py:72 cps/templates/book_edit.html:90 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965 +#: cps/templates/search_form.html:69 cps/web.py:957 cps/web.py:968 msgid "Series" msgstr "" @@ -934,7 +934,7 @@ msgid "Show author selection" msgstr "" #: cps/render_template.py:79 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:931 +#: cps/templates/index.xml:76 cps/web.py:934 msgid "Publishers" msgstr "" @@ -944,7 +944,7 @@ msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1032 +#: cps/web.py:1027 msgid "Languages" msgstr "" @@ -968,7 +968,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:708 +#: cps/render_template.py:93 cps/web.py:711 msgid "Archived Books" msgstr "" @@ -976,7 +976,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:785 +#: cps/render_template.py:97 cps/web.py:788 msgid "Books List" msgstr "" @@ -1030,7 +1030,7 @@ msgstr "" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:228 cps/templates/layout.html:142 +#: cps/shelf.py:228 cps/templates/layout.html:140 msgid "Create a Shelf" msgstr "" @@ -1113,177 +1113,177 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:5 cps/web.py:445 +#: cps/templates/index.html:5 cps/web.py:448 msgid "Discover (Random Books)" msgstr "" -#: cps/web.py:476 +#: cps/web.py:479 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:512 +#: cps/web.py:515 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:544 +#: cps/web.py:547 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:559 +#: cps/web.py:562 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:574 +#: cps/web.py:577 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:587 +#: cps/web.py:590 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:602 +#: cps/web.py:605 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:620 +#: cps/web.py:623 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/web.py:636 +#: cps/web.py:639 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1384 +#: cps/templates/layout.html:56 cps/web.py:745 cps/web.py:1379 msgid "Advanced Search" msgstr "" -#: cps/templates/book_edit.html:239 cps/templates/feed.xml:33 +#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:226 -#: cps/web.py:755 cps/web.py:1090 +#: cps/web.py:758 cps/web.py:1085 msgid "Search" msgstr "" -#: cps/templates/admin.html:16 cps/web.py:909 +#: cps/templates/admin.html:16 cps/web.py:912 msgid "Downloads" msgstr "" -#: cps/web.py:986 +#: cps/web.py:989 msgid "Ratings list" msgstr "" -#: cps/web.py:1007 +#: cps/web.py:1010 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1069 +#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:1064 msgid "Tasks" msgstr "" -#: cps/web.py:1228 +#: cps/web.py:1223 msgid "Published after " msgstr "" -#: cps/web.py:1235 +#: cps/web.py:1230 msgid "Published before " msgstr "" -#: cps/web.py:1257 +#: cps/web.py:1252 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1259 +#: cps/web.py:1254 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1261 +#: cps/web.py:1256 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1366 +#: cps/web.py:1361 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1462 +#: cps/web.py:1457 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1466 +#: cps/web.py:1461 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:1468 +#: cps/web.py:1463 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1485 +#: cps/web.py:1480 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1486 -#: cps/web.py:1493 cps/web.py:1499 cps/web.py:1518 cps/web.py:1522 -#: cps/web.py:1528 +#: cps/templates/layout.html:85 cps/templates/register.html:17 cps/web.py:1481 +#: cps/web.py:1488 cps/web.py:1494 cps/web.py:1513 cps/web.py:1517 +#: cps/web.py:1523 msgid "Register" msgstr "" -#: cps/web.py:1520 +#: cps/web.py:1515 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:1523 +#: cps/web.py:1518 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:1540 +#: cps/web.py:1535 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1559 +#: cps/web.py:1554 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1565 +#: cps/web.py:1560 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1569 cps/web.py:1594 +#: cps/web.py:1564 cps/web.py:1589 msgid "Wrong Username or Password" msgstr "" -#: cps/web.py:1576 +#: cps/web.py:1571 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1582 +#: cps/web.py:1577 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1589 +#: cps/web.py:1584 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1655 cps/web.py:1704 +#: cps/web.py:1650 cps/web.py:1699 #, python-format msgid "%(name)s's profile" msgstr "" -#: cps/web.py:1671 +#: cps/web.py:1666 msgid "Profile updated" msgstr "" @@ -1344,7 +1344,7 @@ msgstr "" msgid "Send to Kindle E-mail Address" msgstr "" -#: cps/templates/admin.html:17 cps/templates/layout.html:78 +#: cps/templates/admin.html:17 cps/templates/layout.html:76 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "" @@ -1354,7 +1354,7 @@ msgstr "" msgid "Password" msgstr "" -#: cps/templates/admin.html:20 cps/templates/layout.html:67 +#: cps/templates/admin.html:20 cps/templates/layout.html:66 #: cps/templates/user_table.html:145 msgid "Upload" msgstr "" @@ -1545,7 +1545,7 @@ msgid "OK" msgstr "" #: cps/templates/admin.html:215 cps/templates/admin.html:229 -#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124 +#: cps/templates/book_edit.html:213 cps/templates/book_table.html:124 #: cps/templates/config_db.html:54 cps/templates/config_edit.html:359 #: cps/templates/config_view_edit.html:173 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 @@ -1643,13 +1643,13 @@ msgstr "" msgid "Book Title" msgstr "" -#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:274 -#: cps/templates/book_edit.html:292 cps/templates/search_form.html:12 +#: cps/templates/book_edit.html:62 cps/templates/book_edit.html:270 +#: cps/templates/book_edit.html:288 cps/templates/search_form.html:12 msgid "Author" msgstr "" -#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:279 -#: cps/templates/book_edit.html:294 cps/templates/search_form.html:153 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:275 +#: cps/templates/book_edit.html:290 cps/templates/search_form.html:153 msgid "Description" msgstr "" @@ -1657,15 +1657,15 @@ msgstr "" msgid "Identifiers" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:303 +#: cps/templates/book_edit.html:76 cps/templates/book_edit.html:299 msgid "Identifier Type" msgstr "" -#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:304 +#: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Value" msgstr "" -#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:305 +#: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 #: cps/templates/user_table.html:24 msgid "Remove" msgstr "" @@ -1686,89 +1686,89 @@ msgstr "" msgid "Rating" msgstr "" -#: cps/templates/book_edit.html:104 +#: cps/templates/book_edit.html:103 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" msgstr "" -#: cps/templates/book_edit.html:108 +#: cps/templates/book_edit.html:107 msgid "Upload Cover from Local Disk" msgstr "" -#: cps/templates/book_edit.html:114 +#: cps/templates/book_edit.html:112 msgid "Published Date" msgstr "" -#: cps/templates/book_edit.html:123 cps/templates/book_edit.html:276 -#: cps/templates/book_edit.html:293 cps/templates/detail.html:164 +#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:272 +#: cps/templates/book_edit.html:289 cps/templates/detail.html:164 #: cps/templates/search_form.html:16 msgid "Publisher" msgstr "" -#: cps/templates/book_edit.html:127 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:125 cps/templates/detail.html:131 #: cps/templates/user_edit.html:33 msgid "Language" msgstr "" -#: cps/templates/book_edit.html:137 cps/templates/search_form.html:45 +#: cps/templates/book_edit.html:135 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" msgstr "" -#: cps/templates/book_edit.html:138 cps/templates/search_form.html:46 +#: cps/templates/book_edit.html:136 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" msgstr "" -#: cps/templates/book_edit.html:203 +#: cps/templates/book_edit.html:200 msgid "Upload Format" msgstr "" -#: cps/templates/book_edit.html:212 +#: cps/templates/book_edit.html:208 msgid "View Book on Save" msgstr "" -#: cps/templates/book_edit.html:215 cps/templates/book_edit.html:233 +#: cps/templates/book_edit.html:211 cps/templates/book_edit.html:229 msgid "Fetch Metadata" msgstr "" -#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53 +#: cps/templates/book_edit.html:212 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172 #: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25 #: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139 msgid "Save" msgstr "" -#: cps/templates/book_edit.html:236 +#: cps/templates/book_edit.html:232 msgid "Keyword" msgstr "" -#: cps/templates/book_edit.html:237 +#: cps/templates/book_edit.html:233 msgid "Search keyword" msgstr "" -#: cps/templates/book_edit.html:243 +#: cps/templates/book_edit.html:239 msgid "Click the cover to load metadata to the form" msgstr "" -#: cps/templates/book_edit.html:250 cps/templates/book_edit.html:289 +#: cps/templates/book_edit.html:246 cps/templates/book_edit.html:285 msgid "Loading..." msgstr "" -#: cps/templates/book_edit.html:254 cps/templates/layout.html:64 -#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:250 cps/templates/layout.html:63 +#: cps/templates/layout.html:186 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:160 msgid "Close" msgstr "" -#: cps/templates/book_edit.html:281 cps/templates/book_edit.html:295 +#: cps/templates/book_edit.html:277 cps/templates/book_edit.html:291 msgid "Source" msgstr "" -#: cps/templates/book_edit.html:290 +#: cps/templates/book_edit.html:286 msgid "Search error!" msgstr "" -#: cps/templates/book_edit.html:291 +#: cps/templates/book_edit.html:287 msgid "No Result(s) found! Please try another keyword." msgstr "" @@ -1970,6 +1970,10 @@ msgstr "" msgid "Enable Uploads" msgstr "" +#: cps/templates/config_edit.html:108 +msgid "(Please ensure users having also upload rights)" +msgstr "" + #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" msgstr "" @@ -2329,7 +2333,7 @@ msgid "Add to shelf" msgstr "" #: cps/templates/detail.html:267 cps/templates/detail.html:284 -#: cps/templates/feed.xml:79 cps/templates/layout.html:139 +#: cps/templates/feed.xml:79 cps/templates/layout.html:137 #: cps/templates/search.html:20 msgid "(Public)" msgstr "" @@ -2404,7 +2408,7 @@ msgstr "" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:172 +#: cps/templates/feed.xml:21 cps/templates/layout.html:170 msgid "Next" msgstr "" @@ -2514,7 +2518,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:137 +#: cps/templates/index.xml:119 cps/templates/layout.html:135 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2535,48 +2539,48 @@ msgstr "" msgid "Search Library" msgstr "" -#: cps/templates/layout.html:64 cps/templates/layout.html:119 +#: cps/templates/layout.html:63 cps/templates/layout.html:117 msgid "Uploading..." msgstr "" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Error" msgstr "" -#: cps/templates/layout.html:64 +#: cps/templates/layout.html:63 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:78 cps/templates/read.html:71 +#: cps/templates/layout.html:76 cps/templates/read.html:71 #: cps/templates/readcbr.html:84 cps/templates/readcbr.html:108 msgid "Settings" msgstr "" -#: cps/templates/layout.html:80 +#: cps/templates/layout.html:78 msgid "Account" msgstr "" -#: cps/templates/layout.html:82 +#: cps/templates/layout.html:80 msgid "Logout" msgstr "" -#: cps/templates/layout.html:120 +#: cps/templates/layout.html:118 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:130 +#: cps/templates/layout.html:128 msgid "Browse" msgstr "" -#: cps/templates/layout.html:143 cps/templates/stats.html:3 +#: cps/templates/layout.html:141 cps/templates/stats.html:3 msgid "About" msgstr "" -#: cps/templates/layout.html:157 +#: cps/templates/layout.html:155 msgid "Previous" msgstr "" -#: cps/templates/layout.html:184 +#: cps/templates/layout.html:182 msgid "Book Details" msgstr "" diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index 60fa4514..dea6d5e9 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@

    -

    Start Time: 2021-11-24 20:41:04

    +

    Start Time: 2021-12-02 06:37:36

    -

    Stop Time: 2021-11-25 00:24:57

    +

    Stop Time: 2021-12-02 10:15:15

    -

    Duration: 3h 3 min

    +

    Duration: 2h 57 min

@@ -881,12 +881,12 @@ - + TestEditBooks 35 - 26 + 34 + 0 0 - 8 1 Detail @@ -1146,234 +1146,74 @@ - +
TestEditBooks - test_upload_book_cbr
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_cbt
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_cbz
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_epub
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_fb2
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_lit
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_mobi
- -
- ERROR -
- - - - + PASS - +
TestEditBooks - test_upload_book_pdf
- -
- ERROR -
- - - - + PASS @@ -1565,12 +1405,12 @@ AttributeError: 'bool' object has no attribute 'send_keys' - + TestEditBooksOnGdrive 20 - 17 - 1 - 2 + 20 + 0 + 0 0 Detail @@ -1723,60 +1563,20 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestEditBooksOnGdrive - test_upload_book_epub
- -
- ERROR -
- - - - + PASS - +
TestEditBooksOnGdrive - test_upload_book_lit
- -
- ERROR -
- - - - + PASS @@ -1790,31 +1590,11 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestEditBooksOnGdrive - test_watch_metadata
- -
- FAIL -
- - - - + PASS @@ -1862,12 +1642,12 @@ AssertionError: 'series' unexpectedly found in {'id': 5, 're - + TestSSL 7 - 6 + 7 + 0 0 - 1 0 Detail @@ -1921,31 +1701,11 @@ AssertionError: 'series' unexpectedly found in {'id': 5, 're - +
TestSSL - test_email_limit
- -
- ERROR -
- - - - + PASS @@ -2098,15 +1858,15 @@ AttributeError: 'bool' object has no attribute 'send_keys' - + TestKoboSync - 10 - 10 - 0 - 0 + 11 + 6 + 4 + 1 0 - Detail + Detail @@ -2130,45 +1890,105 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestKoboSync - test_kobo_sync_selected_shelfs
- PASS + +
+ ERROR +
+ + + + -
TestKoboSync - test_shelves_add_remove_books
+
TestKoboSync - test_kobo_upload_book
PASS - + -
TestKoboSync - test_sync_changed_book
+
TestKoboSync - test_shelves_add_remove_books
+ + +
+ FAIL +
+ + + - PASS - + -
TestKoboSync - test_sync_invalid
+
TestKoboSync - test_sync_changed_book
- PASS - + +
+ FAIL +
+ + + + + -
TestKoboSync - test_sync_reading_state
+
TestKoboSync - test_sync_invalid
PASS @@ -2177,14 +1997,43 @@ AttributeError: 'bool' object has no attribute 'send_keys' -
TestKoboSync - test_sync_shelf
+
TestKoboSync - test_sync_reading_state
PASS - + + +
TestKoboSync - test_sync_shelf
+ + +
+ FAIL +
+ + + + + + + + +
TestKoboSync - test_sync_unchanged
@@ -2193,11 +2042,31 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestKoboSync - test_sync_upload
- PASS + +
+ FAIL +
+ + + + @@ -2205,13 +2074,13 @@ AttributeError: 'bool' object has no attribute 'send_keys' TestKoboSyncBig - 4 - 4 + 5 + 5 0 0 0 - Detail + Detail @@ -2219,7 +2088,7 @@ AttributeError: 'bool' object has no attribute 'send_keys' -
TestKoboSyncBig - test_kobo_sync_selected_shelfs
+
TestKoboSyncBig - test_kobo_sync_multi_user
PASS @@ -2228,7 +2097,7 @@ AttributeError: 'bool' object has no attribute 'send_keys' -
TestKoboSyncBig - test_sync_changed_book
+
TestKoboSyncBig - test_kobo_sync_selected_shelfs
PASS @@ -2237,7 +2106,7 @@ AttributeError: 'bool' object has no attribute 'send_keys' -
TestKoboSyncBig - test_sync_reading_state
+
TestKoboSyncBig - test_sync_changed_book
PASS @@ -2245,6 +2114,15 @@ AttributeError: 'bool' object has no attribute 'send_keys' + +
TestKoboSyncBig - test_sync_reading_state
+ + PASS + + + + +
TestKoboSyncBig - test_sync_shelf
@@ -3048,12 +2926,12 @@ AttributeError: 'bool' object has no attribute 'send_keys' - + TestReader 5 - 4 + 5 + 0 0 - 1 0 Detail @@ -3089,33 +2967,11 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestReader - test_sound_listener
- -
- ERROR -
- - - - + PASS @@ -3530,11 +3386,11 @@ AttributeError: 'bool' object has no attribute 'send_keys' - + TestUploadEPubs 2 - 2 - 0 + 1 + 1 0 0 @@ -3553,11 +3409,31 @@ AttributeError: 'bool' object has no attribute 'send_keys' - +
TestUploadEPubs - test_upload_epub_lang
- PASS + +
+ FAIL +
+ + + + @@ -3968,322 +3844,51 @@ AttributeError: 'bool' object has no attribute 'send_keys' - - TestCalibreWebVisibilitys - 34 - 34 + + _FailedTest + 1 0 0 + 1 0 - Detail + Detail - - -
TestCalibreWebVisibilitys - test_about
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_SMTP_Settings
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_add_user
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_password
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_archived
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_authors
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_category
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_hot
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_language
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_publisher
- - PASS - - - - - + -
TestCalibreWebVisibilitys - test_admin_change_visibility_random
+
_FailedTest - test_visiblilitys
- PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_rated
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_rating
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_read
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_admin_change_visibility_series
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_allow_columns
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_allow_tags
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_archive_books
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_authors_max_settings
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_change_title
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_checked_logged_in
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_hide_custom_column
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_link_column_to_read_status
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_random_books_available
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_request_link_column_to_read_status
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_restrict_columns
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_restrict_tags
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_save_views_recent
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_search_functions
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_search_order
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_search_string
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_user_email_available
- - PASS - - - - - - -
TestCalibreWebVisibilitys - test_user_visibility_sidebar
+ +
+ ERROR +
+ + + - PASS @@ -4449,10 +4054,10 @@ AttributeError: 'bool' object has no attribute 'send_keys' Total - 376 - 357 - 1 - 12 + 345 + 332 + 5 + 2 6   @@ -4835,7 +4440,7 @@ AttributeError: 'bool' object has no attribute 'send_keys' python-ldap - 3.3.1 + 3.4.0 TestLdapLogin @@ -4859,7 +4464,7 @@ AttributeError: 'bool' object has no attribute 'send_keys' From 91a21ababe755b4346bae0e55bebb0124b7a2e9a Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 4 Dec 2021 11:16:33 +0100 Subject: [PATCH 04/10] Allow download of archived books --- cps/helper.py | 2 +- cps/kobo.py | 19 +++++++++---------- cps/services/SyncToken.py | 5 ++--- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/cps/helper.py b/cps/helper.py index d966b331..2c2c3cad 100644 --- a/cps/helper.py +++ b/cps/helper.py @@ -823,7 +823,7 @@ def get_cc_columns(filter_config_custom_read=False): def get_download_link(book_id, book_format, client): book_format = book_format.split(".")[0] - book = calibre_db.get_filtered_book(book_id) + book = calibre_db.get_filtered_book(book_id, allow_show_archived=True) if book: data1 = calibre_db.get_book_format(book.id, book_format.upper()) else: diff --git a/cps/kobo.py b/cps/kobo.py index 3d2af7f4..653321cb 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -355,7 +355,9 @@ def HandleMetadataRequest(book_uuid): return redirect_or_proxy_request() metadata = get_metadata(book) - return jsonify([metadata]) + response = make_response(json.dumps([metadata])) + response.headers["Content-Type"] = "application/json; charset=utf-8" + return response def get_download_url_for_book(book, book_format): @@ -413,15 +415,12 @@ def get_description(book): def get_author(book): if not book.authors: return {"Contributors": None} - if len(book.authors) > 1: - author_list = [] - autor_roles = [] - for author in book.authors: - autor_roles.append({"Name":author.name}) #.encode('unicode-escape').decode('latin-1') - author_list.append(author.name) - return {"ContributorRoles": autor_roles, "Contributors":author_list} - return {"ContributorRoles": [{"Name":book.authors[0].name}], - "Contributors": book.authors[0].name} + author_list = [] + autor_roles = [] + for author in book.authors: + autor_roles.append({"Name":author.name}) #.encode('unicode-escape').decode('latin-1') + author_list.append(author.name) + return {"ContributorRoles": autor_roles, "Contributors":author_list} def get_publisher(book): diff --git a/cps/services/SyncToken.py b/cps/services/SyncToken.py index 692aaa24..85ed5032 100644 --- a/cps/services/SyncToken.py +++ b/cps/services/SyncToken.py @@ -182,10 +182,9 @@ class SyncToken: return b64encode_json(token) def __str__(self): - return "{},{},{},{},{},{}".format(self.raw_kobo_store_token, - self.books_last_created, + return "{},{},{},{},{},{}".format(self.books_last_created, self.books_last_modified, self.archive_last_modified, self.reading_state_last_modified, - self.tags_last_modified) + self.tags_last_modified, self.raw_kobo_store_token) #self.books_last_id) From bd01e840cac13749d527c6f7f5e577f352d1451a Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 4 Dec 2021 11:50:25 +0100 Subject: [PATCH 05/10] Delete books in shelfs, downloaded books, kobo sync status, etc on database change (fixes #620) --- cps/admin.py | 11 ++++++++++- cps/db.py | 3 --- cps/static/js/main.js | 6 +----- cps/web.py | 3 --- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cps/admin.py b/cps/admin.py index f104aa29..2c32431f 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -1186,11 +1186,20 @@ def _db_configuration_update_helper(): if not calibre_db.setup_db(to_save['config_calibre_dir'], ub.app_DB_path): return _db_configuration_result(_('DB Location is not Valid, Please Enter Correct Path'), gdrive_error) + # if db changed -> delete shelfs, delete download books, delete read books, kobo sync... + ub.session.query(ub.Downloads).delete() + ub.session.query(ub.ArchivedBook).delete() + ub.session.query(ub.ArchivedBook).delete() + ub.session.query(ub.ReadBook).delete() + ub.session.query(ub.BookShelf).delete() + ub.session.query(ub.Bookmark).delete() + ub.session.query(ub.KoboReadingState).delete() + ub.session.query(ub.KoboStatistics).delete() + ub.session.query(ub.KoboSyncedBooks).delete() _config_string(to_save, "config_calibre_dir") calibre_db.update_config(config) if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK): flash(_(u"DB is not Writeable"), category="warning") - # warning = {'type': "warning", 'message': _(u"DB is not Writeable")} config.save() return _db_configuration_result(None, gdrive_error) diff --git a/cps/db.py b/cps/db.py index 70da9108..4b0a7ac7 100644 --- a/cps/db.py +++ b/cps/db.py @@ -550,11 +550,8 @@ class CalibreDB(): @classmethod def setup_db(cls, config_calibre_dir, app_db_path): - # cls.config = config cls.dispose() - # toDo: if db changed -> delete shelfs, delete download books, delete read boks, kobo sync?? - if not config_calibre_dir: cls.config.invalidate() return False diff --git a/cps/static/js/main.js b/cps/static/js/main.js index 7a59b172..cf6fbe0d 100644 --- a/cps/static/js/main.js +++ b/cps/static/js/main.js @@ -284,11 +284,7 @@ $(function() { } function fillFileTable(path, type, folder, filt) { - if (window.location.pathname.endsWith("/basicconfig")) { - var request_path = "/../basicconfig/pathchooser/"; - } else { - var request_path = "/../../ajax/pathchooser/"; - } + var request_path = "/../../ajax/pathchooser/"; $.ajax({ dataType: "json", data: { diff --git a/cps/web.py b/cps/web.py index 2cb92a09..13c56f11 100644 --- a/cps/web.py +++ b/cps/web.py @@ -1525,9 +1525,6 @@ def register(): @web.route('/login', methods=['GET', 'POST']) def login(): - #if not config.db_configured: - # log.debug(u"Redirect to initial configuration") - # return redirect(url_for('admin.basic_configuration')) if current_user is not None and current_user.is_authenticated: return redirect(url_for('web.index')) if config.config_login_type == constants.LOGIN_LDAP and not services.ldap: From eb2e816bfdb86b4ff1c352b59463b7fa33203b5b Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 4 Dec 2021 14:58:28 +0100 Subject: [PATCH 06/10] Switch encoding in kobo metadata to ensure utf-8 characters to show up properly (finally) --- cps/kobo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cps/kobo.py b/cps/kobo.py index 653321cb..e8ea65a4 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -355,7 +355,7 @@ def HandleMetadataRequest(book_uuid): return redirect_or_proxy_request() metadata = get_metadata(book) - response = make_response(json.dumps([metadata])) + response = make_response(json.dumps([metadata], ensure_ascii=False)) response.headers["Content-Type"] = "application/json; charset=utf-8" return response From 3bf173d95885897702bc130d594d42f0e7409300 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 4 Dec 2021 15:44:41 +0100 Subject: [PATCH 07/10] Added response for kobo-benefits route and kobo-gettest route --- cps/kobo.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cps/kobo.py b/cps/kobo.py index e8ea65a4..482eb13a 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -986,6 +986,25 @@ def HandleUserRequest(dummy=None): return redirect_or_proxy_request() +@csrf.exempt +@kobo.route("/v1/user/loyalty/benefits", methods=["GET"]) +def handle_benefits(): + if config.config_kobo_proxy: + return redirect_or_proxy_request() + else: + return make_response(jsonify({"Benefits": {}})) + + +@csrf.exempt +@kobo.route("/v1/analytics/gettests", methods=["GET", "POST"]) +def handle_getests(): + if config.config_kobo_proxy: + return redirect_or_proxy_request() + else: + testkey = request.headers.get("X-Kobo-userkey","") + return make_response(jsonify({"Result": "Success", "TestKey":testkey, "Tests": {}})) + + @csrf.exempt @kobo.route("/v1/products//prices", methods=["GET", "POST"]) @kobo.route("/v1/products//recommendations", methods=["GET", "POST"]) @@ -1001,6 +1020,7 @@ def HandleUserRequest(dummy=None): @kobo.route("/v1/products/deals", methods=["GET", "POST"]) @kobo.route("/v1/products", methods=["GET", "POST"]) @kobo.route("/v1/affiliate", methods=["GET", "POST"]) +@kobo.route("/v1/deals", methods=["GET", "POST"]) def HandleProductsRequest(dummy=None): log.debug("Unimplemented Products Request received: %s", request.base_url) return redirect_or_proxy_request() From fd5ab0ef533891e3bfbf2fc4bd961d0259e95651 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sun, 5 Dec 2021 18:01:56 +0100 Subject: [PATCH 08/10] Bugfix handle archive bit --- cps/kobo_sync_status.py | 18 +++++++++--------- cps/static/js/table.js | 6 +++--- cps/web.py | 17 ++++------------- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/cps/kobo_sync_status.py b/cps/kobo_sync_status.py index b88cb6ac..eee47d89 100644 --- a/cps/kobo_sync_status.py +++ b/cps/kobo_sync_status.py @@ -20,7 +20,7 @@ from flask_login import current_user from . import ub import datetime -from sqlalchemy.sql.expression import or_ +from sqlalchemy.sql.expression import or_, and_ # Add the current book id to kobo_synced_books table for current user, if entry is already present, # do nothing (safety precaution) @@ -42,18 +42,18 @@ def remove_synced_book(book_id): ub.session_commit() -def add_archived_books(book_id): - archived_book = (ub.session.query(ub.ArchivedBook) - .filter(ub.ArchivedBook.book_id == book_id) - .filter(ub.ArchivedBook.user_id == current_user.id) - .first()) +def change_archived_books(book_id, state=None, message=None): + archived_book = ub.session.query(ub.ArchivedBook).filter(and_(ub.ArchivedBook.user_id == int(current_user.id), + ub.ArchivedBook.book_id == book_id)).first() if not archived_book: archived_book = ub.ArchivedBook(user_id=current_user.id, book_id=book_id) - archived_book.is_archived = True + + archived_book.is_archived = state if state else not archived_book.is_archived archived_book.last_modified = datetime.datetime.utcnow() ub.session.merge(archived_book) - ub.session_commit() + ub.session_commit(message) + return archived_book.is_archived # select all books which are synced by the current user and do not belong to a synced shelf and them to archive @@ -65,7 +65,7 @@ def update_on_sync_shelfs(user_id): .filter(or_(ub.Shelf.kobo_sync == 0, ub.Shelf.kobo_sync == None)) .filter(ub.KoboSyncedBooks.user_id == user_id).all()) for b in books_to_archive: - add_archived_books(b.book_id) + change_archived_books(b.book_id, True) ub.session.query(ub.KoboSyncedBooks) \ .filter(ub.KoboSyncedBooks.book_id == b.book_id) \ .filter(ub.KoboSyncedBooks.user_id == user_id).delete() diff --git a/cps/static/js/table.js b/cps/static/js/table.js index 0600f0b3..e98f6a8b 100644 --- a/cps/static/js/table.js +++ b/cps/static/js/table.js @@ -631,14 +631,14 @@ function singleUserFormatter(value, row) { } function checkboxFormatter(value, row){ - if(value & this.column) + if (value & this.column) return ''; else return ''; } function singlecheckboxFormatter(value, row){ - if(value) + if (value) return ''; else return ''; @@ -793,7 +793,7 @@ function handleListServerResponse (data) { function checkboxChange(checkbox, userId, field, field_index) { $.ajax({ method: "post", - url: window.location.pathname + "/../../ajax/editlistusers/" + field, + url: getPath() + "/ajax/editlistusers/" + field, data: {"pk": userId, "field_index": field_index, "value": checkbox.checked}, error: function(data) { handleListServerResponse([{type:"danger", message:data.responseText}]) diff --git a/cps/web.py b/cps/web.py index 13c56f11..f203783b 100644 --- a/cps/web.py +++ b/cps/web.py @@ -56,6 +56,7 @@ from .redirect import redirect_back from .usermanagement import login_required_if_no_ano from .kobo_sync_status import remove_synced_book from .render_template import render_title_template +from .kobo_sync_status import change_archived_books feature_support = { 'ldap': bool(services.ldap), @@ -190,24 +191,15 @@ def toggle_read(book_id): return "Custom Column No.{} is not existing in calibre database".format(config.config_read_column), 400 except (OperationalError, InvalidRequestError) as e: calibre_db.session.rollback() - log.error(u"Read status could not set: %e", e) + log.error(u"Read status could not set: {}".format(e)) return "Read status could not set: {}".format(e), 400 return "" @web.route("/ajax/togglearchived/", methods=['POST']) @login_required def toggle_archived(book_id): - archived_book = ub.session.query(ub.ArchivedBook).filter(and_(ub.ArchivedBook.user_id == int(current_user.id), - ub.ArchivedBook.book_id == book_id)).first() - if archived_book: - archived_book.is_archived = not archived_book.is_archived - archived_book.last_modified = datetime.utcnow() - else: - archived_book = ub.ArchivedBook(user_id=current_user.id, book_id=book_id) - archived_book.is_archived = True - ub.session.merge(archived_book) - ub.session_commit("Book {} archivebit toggled".format(book_id)) - if archived_book.is_archived: + is_archived = change_archived_books(book_id, message="Book {} archivebit toggled".format(book_id)) + if is_archived: remove_synced_book(book_id) return "" @@ -801,7 +793,6 @@ def list_books(): if sort == "state": state = json.loads(request.args.get("state", "[]")) - # order = [db.Books.timestamp.asc()] if order == "asc" else [db.Books.timestamp.desc()] # ToDo wrong: sort ticked elif sort == "tags": order = [db.Tags.name.asc()] if order == "asc" else [db.Tags.name.desc()] join = db.books_tags_link,db.Books.id == db.books_tags_link.c.book, db.Tags From 7d67168a4afbc013c7dc71398dddd1fbad9477b0 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Mon, 6 Dec 2021 20:27:25 +0100 Subject: [PATCH 09/10] Update test result --- cps/services/worker.py | 2 +- test/Calibre-Web TestSummary_Linux.html | 661 ++++++++++++++++++++---- 2 files changed, 573 insertions(+), 90 deletions(-) diff --git a/cps/services/worker.py b/cps/services/worker.py index 5952c705..076c9104 100644 --- a/cps/services/worker.py +++ b/cps/services/worker.py @@ -85,7 +85,7 @@ class WorkerThread(threading.Thread): def add(cls, user, task): ins = cls.getInstance() ins.num += 1 - log.debug("Add Task for user: {}: {}".format(user, task)) + log.debug("Add Task for user: {} - {}".format(user, task)) ins.queue.put(QueuedTask( num=ins.num, user=user, diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index dea6d5e9..3c54e88b 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@
-

Start Time: 2021-12-02 06:37:36

+

Start Time: 2021-12-05 19:18:28

-

Stop Time: 2021-12-02 10:15:15

+

Stop Time: 2021-12-05 22:58:48

-

Duration: 2h 57 min

+

Duration: 3h 0 min

@@ -1858,12 +1858,12 @@ - + TestKoboSync 11 - 6 - 4 - 1 + 2 + 9 + 0 0 Detail @@ -1872,11 +1872,35 @@ - +
TestKoboSync - test_book_download
- PASS + +
+ FAIL +
+ + + + @@ -1890,26 +1914,30 @@ - +
TestKoboSync - test_kobo_sync_selected_shelfs
- ERROR + FAIL
-
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 481, in test_shelves_add_remove_books
-    self.assertEqual(1, len(books))
-AssertionError: 1 != 0
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 447, in test_shelves_add_remove_books + self.inital_sync() + File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 111, in inital_sync + self.assertEqual(r.json(), {}) +AssertionError: {'Benefits': {}} != {} +- {'Benefits': {}} ++ {}
@@ -1974,9 +2030,13 @@ AssertionError: 1 != 0
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 286, in test_sync_changed_book
-    self.assertEqual(1, len(data))
-AssertionError: 1 != 2
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 277, in test_sync_changed_book + self.inital_sync() + File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 111, in inital_sync + self.assertEqual(r.json(), {}) +AssertionError: {'Benefits': {}} != {} +- {'Benefits': {}} ++ {}
@@ -1995,11 +2055,35 @@ AssertionError: 1 != 2 - +
TestKoboSync - test_sync_reading_state
- PASS + +
+ FAIL +
+ + + + @@ -2021,9 +2105,13 @@ AssertionError: 1 != 2
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 304, in test_sync_shelf
-    self.assertEqual(1, len(data))
-AssertionError: 1 != 0
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 296, in test_sync_shelf + self.inital_sync() + File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 111, in inital_sync + self.assertEqual(r.json(), {}) +AssertionError: {'Benefits': {}} != {} +- {'Benefits': {}} ++ {}
@@ -2033,11 +2121,35 @@ AssertionError: 1 != 0 - +
TestKoboSync - test_sync_unchanged
- PASS + +
+ FAIL +
+ + + + @@ -2059,9 +2171,13 @@ AssertionError: 1 != 0
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 270, in test_sync_upload
-    self.assertEqual(1, len(data))
-AssertionError: 1 != 0
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 256, in test_sync_upload + self.inital_sync() + File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 111, in inital_sync + self.assertEqual(r.json(), {}) +AssertionError: {'Benefits': {}} != {} +- {'Benefits': {}} ++ {}
@@ -2072,11 +2188,11 @@ AssertionError: 1 != 0 - + TestKoboSyncBig 5 - 5 - 0 + 1 + 4 0 0 @@ -2095,38 +2211,134 @@ AssertionError: 1 != 0 - +
TestKoboSyncBig - test_kobo_sync_selected_shelfs
- PASS + +
+ FAIL +
+ + + + - +
TestKoboSyncBig - test_sync_changed_book
- PASS + +
+ FAIL +
+ + + + - +
TestKoboSyncBig - test_sync_reading_state
- PASS + +
+ FAIL +
+ + + + - +
TestKoboSyncBig - test_sync_shelf
- PASS + +
+ FAIL +
+ + + + @@ -3844,51 +4056,322 @@ AssertionError: 0 != 1 - - _FailedTest - 1 + + TestCalibreWebVisibilitys + 34 + 34 0 0 - 1 0 - Detail + Detail - + -
_FailedTest - test_visiblilitys
+
TestCalibreWebVisibilitys - test_about
- -
- ERROR -
- - - + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_SMTP_Settings
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_add_user
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_password
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_archived
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_authors
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_category
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_hot
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_language
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_publisher
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_random
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_rated
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_rating
+ PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_read
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_admin_change_visibility_series
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_allow_columns
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_allow_tags
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_archive_books
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_authors_max_settings
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_change_title
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_checked_logged_in
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_hide_custom_column
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_link_column_to_read_status
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_random_books_available
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_request_link_column_to_read_status
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_restrict_columns
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_restrict_tags
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_save_views_recent
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_search_functions
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_search_order
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_search_string
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_user_email_available
+ + PASS + + + + + + +
TestCalibreWebVisibilitys - test_user_visibility_sidebar
+ + PASS @@ -4054,10 +4537,10 @@ SyntaxError: invalid syntax Total - 345 - 332 - 5 - 2 + 378 + 358 + 14 + 0 6   @@ -4086,7 +4569,7 @@ SyntaxError: invalid syntax Platform - Linux 5.13.0-21-generic #21~20.04.1-Ubuntu SMP Tue Oct 26 15:49:20 UTC 2021 x86_64 x86_64 + Linux 5.13.0-22-generic #22~20.04.1-Ubuntu SMP Tue Nov 9 15:07:24 UTC 2021 x86_64 x86_64 Basic @@ -4242,7 +4725,7 @@ SyntaxError: invalid syntax google-api-python-client - 2.31.0 + 2.32.0 TestCliGdrivedb @@ -4272,7 +4755,7 @@ SyntaxError: invalid syntax google-api-python-client - 2.31.0 + 2.32.0 TestEbookConvertCalibreGDrive @@ -4302,7 +4785,7 @@ SyntaxError: invalid syntax google-api-python-client - 2.31.0 + 2.32.0 TestEbookConvertGDriveKepubify @@ -4344,7 +4827,7 @@ SyntaxError: invalid syntax google-api-python-client - 2.31.0 + 2.32.0 TestEditBooksOnGdrive @@ -4374,7 +4857,7 @@ SyntaxError: invalid syntax google-api-python-client - 2.31.0 + 2.32.0 TestSetupGdrive @@ -4464,7 +4947,7 @@ SyntaxError: invalid syntax From 9d9acb058dbada25678cb2f27940557772a0a1db Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Mon, 6 Dec 2021 21:02:06 +0100 Subject: [PATCH 10/10] Add button to force full kobo sync --- cps/admin.py | 14 ++++++++++++-- cps/editbooks.py | 8 ++++---- cps/kobo.py | 2 +- cps/static/js/main.js | 29 +++++++++++++++++++++++++++++ cps/templates/user_edit.html | 3 +++ 5 files changed, 49 insertions(+), 7 deletions(-) diff --git a/cps/admin.py b/cps/admin.py index 2c32431f..04d9138f 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -590,6 +590,8 @@ def load_dialogtexts(element_id): texts["main"] = _('Are you sure you want to change shelf sync behavior for the selected user(s)?') elif element_id == "db_submit": texts["main"] = _('Are you sure you want to change Calibre library location?') + elif element_id == "btnfullsync": + texts["main"] = _("Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?") return json.dumps(texts) @@ -889,10 +891,18 @@ def list_restriction(res_type, user_id): else: json_dumps = "" js = json.dumps(json_dumps) - response = make_response(js) #.replace("'", '"') + response = make_response(js) response.headers["Content-Type"] = "application/json; charset=utf-8" return response +@admi.route("/ajax/fullsync") +@login_required +def ajax_fullsync(): + count = ub.session.query(ub.KoboSyncedBooks).filter(current_user.id == ub.KoboSyncedBooks.user_id).delete() + message = _("{} sync entries deleted").format(count) + ub.session_commit(message) + return Response(json.dumps([{"type": "success", "message": message}]), mimetype='application/json') + @admi.route("/ajax/pathchooser/") @login_required @@ -1189,13 +1199,13 @@ def _db_configuration_update_helper(): # if db changed -> delete shelfs, delete download books, delete read books, kobo sync... ub.session.query(ub.Downloads).delete() ub.session.query(ub.ArchivedBook).delete() - ub.session.query(ub.ArchivedBook).delete() ub.session.query(ub.ReadBook).delete() ub.session.query(ub.BookShelf).delete() ub.session.query(ub.Bookmark).delete() ub.session.query(ub.KoboReadingState).delete() ub.session.query(ub.KoboStatistics).delete() ub.session.query(ub.KoboSyncedBooks).delete() + ub.session_commit() _config_string(to_save, "config_calibre_dir") calibre_db.update_config(config) if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK): diff --git a/cps/editbooks.py b/cps/editbooks.py index 31e38d2a..21dc3ba0 100644 --- a/cps/editbooks.py +++ b/cps/editbooks.py @@ -240,14 +240,14 @@ def modify_identifiers(input_identifiers, db_identifiers, db_session): @editbook.route("/ajax/delete/") @login_required def delete_book_from_details(book_id): - return Response(delete_book(book_id, "", True), mimetype='application/json') + return Response(delete_book_from_table(book_id, "", True), mimetype='application/json') @editbook.route("/delete/", defaults={'book_format': ""}) @editbook.route("/delete//") @login_required def delete_book_ajax(book_id, book_format): - return delete_book(book_id, book_format, False) + return delete_book_from_table(book_id, book_format, False) def delete_whole_book(book_id, book): @@ -317,7 +317,7 @@ def render_delete_book_result(book_format, jsonResponse, warning, book_id): return redirect(url_for('web.index')) -def delete_book(book_id, book_format, jsonResponse): +def delete_book_from_table(book_id, book_format, jsonResponse): warning = {} if current_user.role_delete_books(): book = calibre_db.get_book(book_id) @@ -1254,7 +1254,7 @@ def merge_list_book(): element.format, element.uncompressed_size, to_name)) - delete_book(from_book.id,"", True) + delete_book_from_table(from_book.id,"", True) return json.dumps({'success': True}) return "" diff --git a/cps/kobo.py b/cps/kobo.py index 482eb13a..c5af44fc 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -209,7 +209,7 @@ def HandleSyncRequest(): books = calibre_db.session.execute(changed_entries.limit(SYNC_ITEM_LIMIT)) else: books = changed_entries.limit(SYNC_ITEM_LIMIT) - log.debug("Books to Sync: {}".format(books.count())) + log.debug("Books to Sync: {}".format(len(books.all()))) for book in books: formats = [data.format for data in book.Books.data] if not 'KEPUB' in formats and config.config_kepubifypath and 'EPUB' in formats: diff --git a/cps/static/js/main.js b/cps/static/js/main.js index cf6fbe0d..585d2296 100644 --- a/cps/static/js/main.js +++ b/cps/static/js/main.js @@ -517,6 +517,7 @@ $(function() { .on("hidden.bs.modal", function() { $(this).find(".modal-body").html("..."); $("#config_delete_kobo_token").show(); + $("#kobo_full_sync").show(); }); $("#config_delete_kobo_token").click(function() { @@ -530,6 +531,7 @@ $(function() { url: getPath() + "/kobo_auth/deleteauthtoken/" + value, }); $("#config_delete_kobo_token").hide(); + $("#kobo_full_sync").hide(); } ); }); @@ -563,6 +565,33 @@ $(function() { } ); }); + + $("#kobo_full_sync").click(function() { + confirmDialog( + "btnfullsync", + "GeneralDeleteModal", + $(this).data('value'), + function(value){ + path = getPath() + "/ajax/fullsync" + $.ajax({ + method:"get", + url: path, + timeout: 900, + success:function(data) { + data.forEach(function(item) { + if (!jQuery.isEmptyObject(item)) { + $( ".navbar" ).after( '
' + + '
'+item.message+'
' + + '
'); + } + }); + } + }); + } + ); + }); + + $("#user_submit").click(function() { this.closest("form").submit(); }); diff --git a/cps/templates/user_edit.html b/cps/templates/user_edit.html index edecbaf2..e6fbdb74 100644 --- a/cps/templates/user_edit.html +++ b/cps/templates/user_edit.html @@ -66,6 +66,9 @@ {{_('Create/View')}} +
+ +
{% endif %}
{% for element in sidebar %}