diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 666becdb..5a28406a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,12 +6,23 @@ labels: '' assignees: '' --- - -**Describe the bug/problem** +## Short Notice from the maintainer + +After 6 years of more or less intensive programming on Calibre-Web, I need a break. +The last few months, maintaining Calibre-Web has felt more like work than a hobby. I felt pressured and teased by people to solve "their" problems and merge PRs for "their" Calibre-Web. +I have turned off all notifications from Github/Discord and will now concentrate undisturbed on the development of “my” Calibre-Web over the next few weeks/months. +I will look into the issues and maybe also the PRs from time to time, but don't expect a quick response from me. + + +Please also have a look at our [Contributing Guidelines](https://github.com/janeczku/calibre-web/blob/master/CONTRIBUTING.md) + +**Describe the bug/problem** + A clear and concise description of what the bug is. If you are asking for support, please check our [Wiki](https://github.com/janeczku/calibre-web/wiki) if your question is already answered there. **To Reproduce** + Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' @@ -19,15 +30,19 @@ Steps to reproduce the behavior: 4. See error **Logfile** + Add content of calibre-web.log file or the relevant error, try to reproduce your problem with "debug" log-level to get more output. **Expected behavior** + A clear and concise description of what you expected to happen. **Screenshots** + If applicable, add screenshots to help explain your problem. **Environment (please complete the following information):** + - OS: [e.g. Windows 10/Raspberry Pi OS] - Python version: [e.g. python2.7] - Calibre-Web version: [e.g. 0.6.8 or 087c4c59 (git rev-parse --short HEAD)]: @@ -37,3 +52,4 @@ If applicable, add screenshots to help explain your problem. **Additional context** Add any other context about the problem here. [e.g. access via reverse proxy, database background sync, special database location] + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 6b2b9afc..dec77d51 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -7,7 +7,14 @@ assignees: '' --- - +# Short Notice from the maintainer + +After 6 years of more or less intensive programming on Calibre-Web, I need a break. +The last few months, maintaining Calibre-Web has felt more like work than a hobby. I felt pressured and teased by people to solve "their" problems and merge PRs for "their" Calibre-Web. +I have turned off all notifications from Github/Discord and will now concentrate undisturbed on the development of “my” Calibre-Web over the next few weeks/months. +I will look into the issues and maybe also the PRs from time to time, but don't expect a quick response from me. + +Please have a look at our [Contributing Guidelines](https://github.com/janeczku/calibre-web/blob/master/CONTRIBUTING.md) **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] diff --git a/README.md b/README.md index db8efe31..52fa6a0c 100755 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +# Short Notice from the maintainer + +After 6 years of more or less intensive programming on Calibre-Web, I need a break. +The last few months, maintaining Calibre-Web has felt more like work than a hobby. I felt pressured and teased by people to solve "their" problems and merge PRs for "their" Calibre-Web. +I have turned off all notifications from Github/Discord and will now concentrate undisturbed on the development of “my” Calibre-Web over the next few weeks/months. +I will look into the issues and maybe also the PRs from time to time, but don't expect a quick response from me. + # Calibre-Web Calibre-Web is a web app that offers a clean and intuitive interface for browsing, reading, and downloading eBooks using a valid [Calibre](https://calibre-ebook.com) database. diff --git a/cps/embed_helper.py b/cps/embed_helper.py index f5c3a084..71de216d 100644 --- a/cps/embed_helper.py +++ b/cps/embed_helper.py @@ -25,16 +25,23 @@ from .constants import SUPPORTED_CALIBRE_BINARIES log = logger.create() + def do_calibre_export(book_id, book_format): try: quotes = [3, 5, 7, 9] tmp_dir = get_temp_dir() calibredb_binarypath = get_calibre_binarypath("calibredb") temp_file_name = str(uuid4()) - opf_command = [calibredb_binarypath, 'export', '--dont-write-opf', '--with-library', config.config_calibre_dir, + my_env = os.environ.copy() + if config.config_calibre_split: + my_env['CALIBRE_OVERRIDE_DATABASE_PATH'] = os.path.join(config.config_calibre_dir, "metadata.db") + library_path = config.config_calibre_split_dir + else: + library_path = config.config_calibre_dir + opf_command = [calibredb_binarypath, 'export', '--dont-write-opf', '--with-library', library_path, '--to-dir', tmp_dir, '--formats', book_format, "--template", "{}".format(temp_file_name), str(book_id)] - p = process_open(opf_command, quotes) + p = process_open(opf_command, quotes, my_env) _, err = p.communicate() if err: log.error('Metadata embedder encountered an error: %s', err) @@ -44,6 +51,7 @@ def do_calibre_export(book_id, book_format): log.error_or_exception(ex) return None, None + def get_calibre_binarypath(binary): binariesdir = config.config_binariesdir if binariesdir: diff --git a/cps/jinjia.py b/cps/jinjia.py index e42c650c..584e7d6b 100644 --- a/cps/jinjia.py +++ b/cps/jinjia.py @@ -124,7 +124,7 @@ def formatseriesindex_filter(series_index): return int(series_index) else: return series_index - except ValueError: + except (ValueError, TypeError): return series_index return 0 diff --git a/cps/redirect.py b/cps/redirect.py old mode 100644 new mode 100755 index 09b3101f..337bb77b --- a/cps/redirect.py +++ b/cps/redirect.py @@ -29,7 +29,7 @@ from urllib.parse import urlparse, urljoin -from flask import request, url_for, redirect +from flask import request, url_for, redirect, current_app def is_safe_url(target): @@ -38,16 +38,15 @@ def is_safe_url(target): return test_url.scheme in ('http', 'https') and ref_url.netloc == test_url.netloc -def get_redirect_target(): - for target in request.values.get('next'), request.referrer: - if not target: - continue - if is_safe_url(target): - return target +def remove_prefix(text, prefix): + if text.startswith(prefix): + return text[len(prefix):] + return "" def redirect_back(endpoint, **values): - target = request.form['next'] - if not target or not is_safe_url(target): + target = request.form.get('next', None) or url_for(endpoint, **values) + adapter = current_app.url_map.bind(urlparse(request.host_url).netloc) + if not len(adapter.allowed_methods(remove_prefix(target, request.environ.get('HTTP_X_SCRIPT_NAME',"")))): target = url_for(endpoint, **values) return redirect(target) diff --git a/cps/server.py b/cps/server.py index 30dad710..c0f83403 100644 --- a/cps/server.py +++ b/cps/server.py @@ -24,7 +24,7 @@ import socket import asyncio try: - from gevent_.pywsgi import WSGIServer + from gevent.pywsgi import WSGIServer from .gevent_wsgi import MyWSGIHandler from gevent.pool import Pool from gevent.socket import socket as GeventSocket diff --git a/cps/static/favicon.ico b/cps/static/favicon.ico index 0774d0f9..c7a6c8fa 100644 Binary files a/cps/static/favicon.ico and b/cps/static/favicon.ico differ diff --git a/cps/static/icon.png b/cps/static/icon.png new file mode 100644 index 00000000..15c7288a Binary files /dev/null and b/cps/static/icon.png differ diff --git a/cps/static/icon.svg b/cps/static/icon.svg new file mode 100644 index 00000000..44bd99fa --- /dev/null +++ b/cps/static/icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cps/tasks/convert.py b/cps/tasks/convert.py index f32c4581..7ea30396 100644 --- a/cps/tasks/convert.py +++ b/cps/tasks/convert.py @@ -252,9 +252,16 @@ class TaskConvert(CalibreTask): quotes = [3, 5] tmp_dir = get_temp_dir() calibredb_binarypath = os.path.join(config.config_binariesdir, SUPPORTED_CALIBRE_BINARIES["calibredb"]) + my_env = os.environ.copy() + if config.config_calibre_split: + my_env['CALIBRE_OVERRIDE_DATABASE_PATH'] = os.path.join(config.config_calibre_dir, "metadata.db") + library_path = config.config_calibre_split_dir + else: + library_path = config.config_calibre_dir + opf_command = [calibredb_binarypath, 'show_metadata', '--as-opf', str(self.book_id), - '--with-library', config.config_calibre_dir] - p = process_open(opf_command, quotes) + '--with-library', library_path] + p = process_open(opf_command, quotes, my_env) p.wait() path_tmp_opf = os.path.join(tmp_dir, "metadata_" + str(uuid4()) + ".opf") with open(path_tmp_opf, 'w') as fd: diff --git a/cps/templates/config_db.html b/cps/templates/config_db.html index e79bb630..5b6ac7ff 100644 --- a/cps/templates/config_db.html +++ b/cps/templates/config_db.html @@ -18,7 +18,7 @@
- +
diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo index 91130635..86713655 100644 Binary files a/cps/translations/cs/LC_MESSAGES/messages.mo and b/cps/translations/cs/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/cs/LC_MESSAGES/messages.po b/cps/translations/cs/LC_MESSAGES/messages.po index 0e02f429..cc5a051e 100644 --- a/cps/translations/cs/LC_MESSAGES/messages.po +++ b/cps/translations/cs/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-06-09 21:11+0100\n" "Last-Translator: Lukas Heroudek \n" "Language: cs_CZ\n" @@ -44,8 +44,8 @@ msgstr "Neznámý příkaz" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(eReadermail)s" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Neznámý" @@ -89,7 +89,7 @@ msgstr "Zobrazit vše" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -97,7 +97,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Nezbývá žádný správce, nelze odebrat roli správce" @@ -129,7 +129,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -141,7 +141,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Konfigurace Calibre-Web aktualizována" @@ -293,11 +293,11 @@ msgstr "Změnit SMTP nastavení" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Chyba databáze: %(error)s." @@ -336,7 +336,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Neznámá chyba. Opakujte prosím později." @@ -344,7 +344,7 @@ msgstr "Neznámá chyba. Opakujte prosím později." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Upravit uživatele %(nick)s" @@ -455,68 +455,68 @@ msgstr "Umístění databáze není platné, opravte prosím cestu" msgid "DB is not Writeable" msgstr "Databáze není zapisovatelná" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění souboru klíčů není platné, zadejte prosím správnou cestu" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění certifikátu není platné, zadejte prosím správnou cestu" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Nastavení e-mailového serveru aktualizováno" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Konfigurace funkcí" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Vyplňte všechna pole!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-mail není z platné domény" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Přidat nového uživatele" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Uživatel '%(user)s' vytvořen" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdívku." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Uživatel '%(nick)s' smazán" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Nezbývá žádný správce, nemůžete jej odstranit" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Uživatel '%(nick)s' aktualizován" @@ -534,117 +534,117 @@ msgstr "Chybí povolení k exekuci" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Vlastní sloupec %(column)d neexistuje v databázi" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Žádné" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata úspěšně aktualizována" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Soubor %(file)s nahrán" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Chybí zdrojový nebo cílový formát pro převod" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, 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" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s není platným jazykem" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 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:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Formát knihy úspěšně smazán" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Kniha úspěšně smazána" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "upravit metadata" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, 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:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Uložení souboru %(file)s se nezdařilo." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formát souboru %(ext)s přidán do %(book)s" @@ -657,179 +657,207 @@ msgstr "Google Drive nastavení nebylo dokončeno, zkuste znovu deaktivovat a a msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Doména zpětného volání není ověřena, postupujte podle pokynů k ověření domény v konzole pro vývojáře google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formát pro knihu: %(book)d nenalezen" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s nenalezen na Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nenalezen: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Poslat do Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Tento e-mail byl odeslán přes Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web zkušební e-mail" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Zkušební e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Začínáme s Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrační e-mail pro uživatele: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Převést %(orig)s do %(format)s a poslat do Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Poslat %(format)s do Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Poslat do Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Požadovaný soubor nelze přečíst. Možná nesprávná oprávnění?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Mazání knihy selhalo %(id)s failed: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Mazání knihy %(id)s, cesta ke knize není platná %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Soubor %(file)s nenalezen na Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Zadané uživatelské jméno je již použito" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Chyba stahování obalu" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Chyba formátu obalu" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Vytvoření cesty obalu selhalo" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Soubor obalu není platný, nebo nelze uložit" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrar binární soubor nenalezen" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Chyba provádění UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Objevte" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrar binární soubor nenalezen" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Chyba provádění UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Databáze není zapisovatelná" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Chybí povolení k exekuci" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Chyba provádění UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1116,7 +1144,7 @@ msgstr "" msgid "Advanced Search" msgstr "Rozšířené hledání" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Zadána neplatná police" @@ -1130,100 +1158,105 @@ msgstr "Lituji, nejste oprávněni přidat knihu do police: %(shelfname)s" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Kniha je již součástí police: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Kniha byla přidána do police: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Knihy jsou již součástí police: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Knihy byly přidány do police: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Nelze přidat knihy do police: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Kniha byla odebrána z police: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Vytvořit polici" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Lituji, nejste oprávněni odebrat knihu z této police: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Upravit polici" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Kniha úspěšně smazána" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Změnit pořadí Police: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Police %(title)s vytvořena" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Police %(title)s změněna" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Došlo k chybě" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Veřejná police s názvem '%(title)s' již existuje." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Osobní police s názvem ‘%(title)s’ již existuje." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Police: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná" @@ -1396,12 +1429,12 @@ msgstr "Váš e-mail nemá povolení k registraci" msgid "Success! Confirmation Email has been sent." msgstr "Potvrzovací e-mail byl odeslán na váš účet." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Nelze aktivovat ověření LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1427,7 +1460,7 @@ msgstr "Špatné uživatelské jméno nebo heslo" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nové heslo bylo zasláno na vaši emailovou adresu" #: cps/web.py:1403 @@ -1464,46 +1497,46 @@ msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu." msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Poslat do Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre převaděč %(tool)s nenalezen" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-převaděč selhal: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Převedený soubor nebyl nalezen nebo více než jeden soubor ve složce %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Převaděč eknih selhal: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1515,11 +1548,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "upravit metadata" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1680,7 +1717,7 @@ msgstr "Magic Link vzdálené přihlášení" msgid "Reverse Proxy Login" msgstr "Reverzní proxy přihlášení" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Název záhlaví reverzního proxy" @@ -1780,13 +1817,13 @@ msgid "Are you sure you want to restart?" msgstr "Opravdu chcete restartovat?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1971,8 +2008,8 @@ msgstr "Zobrazit knihu po uložení" msgid "Fetch Metadata" msgstr "Získat metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2139,27 +2176,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "Umístění Calibre databáze" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Použít Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Ověřit Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre složka" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID kanálu sledování metadat" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Odvolat" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "Umístění databáze není platné, opravte prosím cestu" @@ -2221,259 +2262,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Povolit nahrávání" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Povolit nahrávání" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Povolené nahrávání formátů souborů" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Povolit anonymní prohlížení" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Povolit veřejnou registraci" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Použít e-mail jako přezdívku" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Povolit Magic Link vzdálené přihlášení" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Povolit Kobo synchronizaci" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy neznámé požadavky na obchod Kobo" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Použít Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Získat API klíč" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Klíč" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API tajemství" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Povolit reverzní ověření proxy" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Typ přihlášení" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Použít standartní ověření" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Použít ověření LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Použít OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Název hostitele serveru LDAP nebo IP adresa" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP Server Port" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP Šifrování" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP Ověření" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonymní" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Neověřeno" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Jednoduché" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Uživatelské jméno správce LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Heslo správce LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Rozlišující název LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtr objektu uživatele LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Server LDAP je OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Následující nastavení jsou potřeba pro import uživatele" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtr objektů skupiny LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Jméno skupiny LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Pole členů skupiny LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Získat %(provider)s OAuth pověření" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Klient Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Klient Tajemství" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Externí binární soubory" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Cesta k převaděči e-knih Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Nastavení převaděče e-knih Calibre" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Cesta k převaděči e-knih Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Umístění Unrar binarních souborů" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Nastavení OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Resetovat uživatelské heslo" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index 464db7eb..717e8333 100644 Binary files a/cps/translations/de/LC_MESSAGES/messages.mo and b/cps/translations/de/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index d6d9669d..077a645a 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-10-21 15:45+0200\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" @@ -42,8 +42,8 @@ msgstr "Unbekannter Befehl" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Bücher wurden für Metadaten Backup eingereiht, für das Ergebnis bitte Aufgaben überprüfen" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Unbekannt" @@ -86,7 +86,7 @@ msgstr "Zeige alle" msgid "Malformed request" msgstr "Ungültige Anfrage" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Guest Name kann nicht geändert werden" @@ -94,7 +94,7 @@ msgstr "Guest Name kann nicht geändert werden" msgid "Guest can't have this role" msgstr "Guest Benutzer kann diese Rolle nicht haben" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden" @@ -126,7 +126,7 @@ msgstr "Keine gültige Sprache gewählt" msgid "No Valid Book Language Given" msgstr "Keine gültige Buchsprache gewählt" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter wurde nicht gefunden" @@ -138,7 +138,7 @@ msgstr "Ungültige Lese Spalte" msgid "Invalid Restricted Column" msgstr "Ungültiger Spaltenname für Einschränkung" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Konfiguration von Calibre-Web wurde aktualisiert" @@ -285,11 +285,11 @@ msgstr "SMTP-Einstellungen ändern" msgid "Success! Gmail Account Verified." msgstr "G-Mail Konto verifiziert." -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Datenbankfehler: %(error)s." @@ -328,7 +328,7 @@ msgstr "Ungültige Laufzeit für Aufgaben spezifiziert" msgid "Scheduled tasks settings updated" msgstr "Einstellungen für Geplante Aufgaben aktualisiert" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." @@ -336,7 +336,7 @@ msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuche msgid "Settings DB is not Writeable" msgstr "Einstellungsdatenbank ist nicht schreibbar" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Benutzer %(nick)s bearbeiten" @@ -444,65 +444,65 @@ msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben" msgid "DB is not Writeable" msgstr "Datenbank ist nicht schreibbar" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Schlüsseldatei ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "Passwortlänge muss zwischen 1 und 40 Zeichen liegen" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Datenbankeinstellung aktualisiert" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Datenbank-Konfiguration" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Bitte alle Felder ausfüllen." -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-Mail bezieht sich nicht auf eine gültige Domain" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Neuen Benutzer hinzufügen" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Benutzer '%(user)s' angelegt" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Es existiert bereits ein Account für diese E-Mailadresse oder diesen Benutzernamen." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Benutzer '%(nick)s' gelöscht" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Guest Benutzer kann nicht gelöscht werden" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Benutzer kann nicht gelöscht werden, es wäre kein Admin Benutzer übrig" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "E-Mail kann nicht leer sein und muss gültig sein" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Benutzer '%(nick)s' aktualisiert" @@ -520,117 +520,117 @@ msgstr "Ausführeberechtigung fehlt" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Benutzerdefinierte Spalte Nr. %(column)d ist nicht in Calibre Datenbank vorhanden" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Keine" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Benutzer hat keine Berechtigung Cover hochzuladen" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDs unterscheiden nicht Groß-Kleinschreibung, alte ID wird überschrieben" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadaten wurden erfolgreich aktualisiert" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Fehler beim editieren des Buches: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Datei %(file)s hochgeladen" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Quell- oder Zielformat für Konvertierung fehlt" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Es trat ein Fehler beim Konvertieren des Buches auf: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' ist keine gültige Sprache" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Buch Format erfolgreich gelöscht" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Buch erfolgreich gelöscht" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Keine Erlaubnis zum Bücher löschen" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, 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:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Benutzer hat kein Recht zusätzliche Dateiformate hochzuladen" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Fehler beim Speichern der Datei %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt" @@ -643,173 +643,201 @@ msgstr "Google Drive Setup is nicht komplett, bitte versuche Google Drive zu dea msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Callback Domain ist nicht verifiziert, bitte Domain in der Google Developer Console verifizieren" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s Format für Buch-ID %(book)d nicht gefunden" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s von Buch %(fn)s nicht auf Google Drive gefunden" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nicht gefunden: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "An E-Reader senden" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "Diese E-Mail wurde durch Calibre-Web versendet." -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "Calibre-Web Test-E-Mail" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "Test E-Mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Loslegen mit Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrierungs-E-Mail für Benutzer: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Konvertiere %(orig)s nach %(format)s und sende an E-Reader" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, python-format msgid "Send %(format)s to eReader" msgstr "Sende %(format)s an E-Reader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s an E-Reader gesendet" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Die angeforderte Datei konnte nicht gelesen werden. Evtl. falsche Zugriffsrechte?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Gelesenen Status konnte nicht aktualisiert werden: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Löschen des Ordners für Buch %(id)s ist fehlgeschlagen, der Pfad hat Unterordner: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Löschen von Buch %(id)s fehlgeschlagen: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Lösche Buch %(id)s nur aus Datenbank, Pfad zum Buch in Datenbank ist nicht gültig: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Umbenennen des Autors '%(src)s' zu '%(dest)s' schlug fehl: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Umbenennen des Titels '%(src)s' zu '%(dest)s' schlug fehl: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Fehler beim umbenennen der Datei im Pfad: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "Es existiert bereits ein Benutzerkonto für diese E-Mail Adresse" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Benutzername ist schon vorhanden" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "Ungültiges E-Mail Adressformat" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "Passwort stimmt nicht mit den Passwortregln überein" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python Module 'advocate' ist nicht installiert, wird aber für das Cover hochladen benötigt" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Fehler beim Herunterladen des Covers" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Coverdatei fehlerhaft" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Keine Berechtigung Cover von Localhost oder dem lokalen Netzwerk hochzuladen" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Fehler beim Erzeugen des Ordners für die Coverdatei" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Cover Datei ist keine gültige Bilddatei, kann nicht gespeichert werden" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Nur jpg/jpeg/png/webp/bmp Dateien werden als Coverdatei unterstützt" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Ungültiger Cover Dateiinhalt" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Es werden nur jpg/jpeg Dateien als Cover untertützt" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "UnRar Programm nicht gefunden" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "Fehler beim Ausführen von UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "Titelbild" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "UnRar Programm nicht gefunden" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "Fehler beim Ausführen von UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Datenbank ist nicht schreibbar" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Ausführeberechtigung fehlt" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Fehler beim Ausführen von UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Alle Bücher für Metadaten Backup einreihen" @@ -1086,7 +1114,7 @@ msgstr "Fehler bei der Suche nach eigenen Spalten, bitte Calibre-Web neustarten" msgid "Advanced Search" msgstr "Erweiterte Suche" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Ungültiges Bücherregal angegeben" @@ -1099,98 +1127,103 @@ msgstr "Du hast keine Berechtigung, ein Buch zu diesem Bücherregal hinzuzufüge msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Buch ist bereits Teil des Bücherregals %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Das Buch wurde dem Bücherregal %(sname)s hinzugefügt" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Keine Erlaubnis Bücher zu diesem Bücherregal hinzuzufügen" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Bücher sind bereits Teil des Bücherregals %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Bücher wurden zum Bücherregal %(sname)s hinzugefügt" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Bücher konnten nicht zum Bücherregal %(sname)s hinzugefügt werden" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Sie haben keine Berechtigung um Bücher aus diesem Bücherregal zu löschen" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Bücherregal erzeugen" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Dir ist es nicht erlaubt, dieses Bücherregal zu editieren" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Bücherregal editieren" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Fehler beim Löschen des Bücherregals" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Bücherregal erfolgreich gelöscht" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Reihenfolge in Bücherregal '%(name)s' verändern" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Sie haben keine Berechtigung um öffentliche Bücherregal zu erzeugen" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Bücherregal %(title)s erzeugt" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Bücherregal %(title)s verändert" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Es trat ein Fehler auf" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Es existiert bereit ein öffentliches Bücherregal mit dem Name '%(title)s'." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Es existiert bereit ein privates Bücherregal mit dem Name '%(title)s'." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Bücherregal: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Fehler beim Öffnen des Bücherregals. Bücherregal exisitert nicht oder ist nicht zugänglich" @@ -1361,11 +1394,11 @@ msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen." msgid "Success! Confirmation Email has been sent." msgstr "Eine Bestätigungs-E-Mail wurde an deinen E-Mail Account versendet." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "LDAP-Authentifizierung kann nicht aktiviert werden" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "Bitte eine Minute vor dem nächsten Loginversuche warten " @@ -1389,7 +1422,7 @@ msgid "Wrong Username or Password" msgstr "Falscher Benutzername oder Passwort" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt" #: cps/web.py:1403 @@ -1422,46 +1455,46 @@ msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse." msgid "Found no valid gmail.json file with OAuth information" msgstr "Keine gültige gmail.json Datei mit Oauth informationen gefunden" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s an E-Reader gesendet" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre E-Book Konverter %(tool)s nicht gefunden" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s Format nicht gefunden" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "EBook Converter mit unbekanntem Fehler fehlgeschlagen" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify Konverter Aufruf fehlgeschlagen: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konvertierte Datei nicht gefunden, oder mehr als eine Datei im Pfad %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Fehler des EBook-Converters: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre fehlgeschlagen mit Fehler: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Konvertiere" @@ -1473,10 +1506,14 @@ msgstr "Calibre Datenbank wird neu verbunden" msgid "E-mail" msgstr "E-Mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "Metadaten Backup läuft" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1636,7 +1673,7 @@ msgstr "Remotelogin ('Magischer Link')" msgid "Reverse Proxy Login" msgstr "Reverse Proxy Login" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Reverse Proxy Header Name" @@ -1735,13 +1772,13 @@ msgid "Are you sure you want to restart?" msgstr "Calibre-Web wirklich neustarten?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1926,8 +1963,8 @@ msgstr "Buch nach Bearbeitung ansehen" msgid "Fetch Metadata" msgstr "Metadaten laden" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2091,27 +2128,31 @@ msgstr "Zusammenführen" msgid "Location of Calibre Database" msgstr "Speicherort der Calibre-Datenbank" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Google Drive benutzen?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Google Drive authentifizieren" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre-Ordner" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Matadata Überwachungs-ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Widerrufen" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Neuer Datenbank Pfad ist nicht gültig, bitte einen gültigen Pfad angeben" @@ -2172,257 +2213,262 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Nicht-englische Zeichen in Titel und Autor beim Speichern auf Festplatte ersetzen" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Hochladen aktivieren" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Bitte stellen Sie sicher das sie über die Upload Berechtigung verfügen)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Erlaubte Dateiformate zum Hochladen" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Anonymes Durchsuchen aktivieren" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Öffentliche Registrierung aktivieren" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Benutze E-Mail als Benutzername" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Remotelogin ('Magischer Link') aktivieren" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Synchronisation mit Kobo aktivieren" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Unbekannte Anfragen an Kobo.com weiterleiten" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Externer Server Port (für Port Weiterleitung von API Aufrufen)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Benutze Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Einen API Schlüssel erhalten" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Öffentlicher Goodreads API Schlüssel" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Geheimer Goodreads API Schlüssel" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Reverse Proxy Authentifizierung zulassen" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Logintyp" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Benutze Standard Authentifizierung" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Benutze LDAP-Login" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Benutze OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP-Server Hostname oder IP-Adresse" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP Server Port" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP Verschlüsselung" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CA-Zertifikat Pfad (Nur für Client Zertifikat Authentifizierung benötigt)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP Zertifikat Pfad (Nur für Client Zertifikat Authentifizierung benötigt)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP Keyfile Pfad (Nur für Client Zertifikat Authentifizierung benötigt)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP Authentifizierung" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonym" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Unauthentifiziert" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Einfach" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP Administrator Benutzername" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP Administrator Passwort" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP User Object Filter" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Ist der LDAP-Server ein OpenLDAP-Server?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Die nachfolgenden Einstellungen werden nur für den Benutzerimport benötigt" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP Gruppen Objekt Filter" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP Gruppen Name" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP Gruppen Mitglieds Feld" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP Member User Filter Erkennung" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Automatisch erkennen" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Benutzerdefinierter Filter" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP Member User Filter" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Erhalte %(provider)s OAuth Berechtigungen" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Client Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Client Secret" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Externe Programme" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Pfad zum Calibre E-Book Konverter" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre E-Book Konverter Einstellungen" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Pfad zum Kepubify E-Book Konverter" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Pfad zur UnRar-Binärdatei" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "Sicherheitseinstellungen" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "Login Fehlversuche begrenzen" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "Sessionschutz" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "Einfach" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "Stark" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "Passwort Regeln" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "Minimale Passwortlänge" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "Erzwinge Nummer" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "Erzwinge Kleinbuchstaben" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "Erzwinge Großbuchstaben" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "Erzwinge Spezialzeichen" diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo index a4e5e3a8..ce727961 100644 Binary files a/cps/translations/el/LC_MESSAGES/messages.mo and b/cps/translations/el/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/el/LC_MESSAGES/messages.po b/cps/translations/el/LC_MESSAGES/messages.po index 4ebb35ba..9677fc60 100644 --- a/cps/translations/el/LC_MESSAGES/messages.po +++ b/cps/translations/el/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Depountis Georgios\n" "Language: el\n" @@ -44,8 +44,8 @@ msgstr "Άγνωστη εντολή" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(eReadermail)s" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "ʼΑγνωστο" @@ -89,7 +89,7 @@ msgstr "Προβολή Όλων" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -97,7 +97,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή" @@ -129,7 +129,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -141,7 +141,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web" @@ -293,11 +293,11 @@ msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Σφάλμα βάσης δεδομένων: %(error)s." @@ -336,7 +336,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα." @@ -344,7 +344,7 @@ msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλού msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Επεξεργασία χρήστη %(nick)s" @@ -455,68 +455,68 @@ msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλ msgid "DB is not Writeable" msgstr "Η DB δεν μπορεί να Γραφτεί" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Διαμόρφωση Λειτουργίας" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Το E-mail δεν είναι από έγκυρο domain" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Προσθήκη νέου χρήστη" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν" @@ -534,117 +534,117 @@ msgstr "Λείπουν άδειες εκτέλεσης" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Κανένα" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Τα αναγνωριστικά δεν έχουν Διάκριση Πεζών-Κεφαλαίων Γραμμάτων, Αντικατάσταση Παλιού Αναγνωριστικού" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Τα μεταδεδομένα ενημερώθηκαν επιτυχώς" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Το αρχείο %(file)s ανέβηκε" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Η δομή πηγής ή προορισμού για μετατροπή λείπει" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Το βιβλίο είναι σε σειρά επιτυχώς για μετατροπή σε %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Υπήρξε ένα σφάλμα στη μετατροπή αυτού του βιβλίου: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Το βιβλίο που ανέβηκε πιθανόν να υπάρχει στη βιβλιοθήκη, σκέψου να το αλλάξεις πριν ανεβάσεις νέο: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s δεν είναι μια έγκυρη γλώσσα" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Το αρχείο προς ανέβασμα πρέπει να έχει μια επέκταση" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Το αρχείο %(filename)s δεν μπόρεσε να αποθηκευτεί σε temp dir" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Αποτυχία Μετακίνησης Αρχείου Φόντου %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "επεξεργασία μεταδεδομένων" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η άδεια απορρήφθηκε)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Μορφή αρχείου %(ext)s προστέθηκε σε %(book)s" @@ -657,179 +657,207 @@ msgstr "Η ρύθμιση του Google Drive δεν ολοκληρώθηκε, msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Η ανάκληση ονόματος δεν έχει επαληθευτεί, παρακαλούμε ακολούθησε τα βήματα για την επαλήθευση ονόματος στην κονσόλα προγραμματιστή google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s η δομή δεν βρέθηκε για την ταυτότητα βιβλίου: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s δεν βρέθηκε στο Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s δεν βρέθηκε: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Αποστολή στο Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Αυτό το e-mail έχει σταλεί μέσω Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web δοκιμαστικό e-mail" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Δοκιμαστικό e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Ξεκινήστε με το Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "e-mail εγγραφής για χρήστη: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Μετατροπή %(orig)s σε %(format)s και αποστολή στο Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Αποστολή %(format)s στο Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Αποστολή στο Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Το αρχείου που χητήθηκε δεν μπορεί να διαβαστεί. Μπορεί να υπάρχουν λαθασμένες άδειες;" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Η διαγραφή φακέλου βιβλίου για το βιβλίο %(id)s απέτυχε, η πορεία έχει υπό-φακέλους: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Η διαγραφή βιβλίου %(id)s απέτυχε: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Διαγραφή βιβλίου %(id)s, η πορεία βιβλίου δεν είναι έγκυρη: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Αυτό το όνομα χρήστη έχει ήδη παρθεί" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Σφάλμα Κατεβάσματος Φόντου" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Σφάλμα Μορφής Φόντου" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Αποτυχία δημιουργίας πορείας για φόντο" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Το αρχείο φόντου δεν είναι ένα έγκυρο αρχείο εικόνας, ή δεν μπόρεσε να αποθηκευτεί" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Σφάλμα εκτέλεσης UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Ανακάλυψε" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Σφάλμα εκτέλεσης UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Η DB δεν μπορεί να Γραφτεί" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Λείπουν άδειες εκτέλεσης" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Σφάλμα εκτέλεσης UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1116,7 +1144,7 @@ msgstr "" msgid "Advanced Search" msgstr "Προχωρημένη Αναζήτηση" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Διευκρινίστηκε μη έγκυρο ράφι" @@ -1130,100 +1158,105 @@ msgstr "Συγγνώμη δεν σου επιτρέπεται να προσθέ msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Το βιβλίο είναι ήδη μέρος αυτού του ραφιού: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Το βιβλίο έχει προστεθεί στο ράφι: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Τα βιβλία είναι ήδη μέρος του ραφιού: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Βιβλία είχαν προστεθεί στο ραφι: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Δεν μπόρεσε να γίνει η προσθήκη βιβλίων στο ράφι: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Το βιβλίο έχει αφαιρεθεί από το ράφι: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Δημιούργησε ένα Ράφι" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Συγγνώμη αλλά δεν σου επιτρέπεται η αφαίρεση ενός βιβλίου από αυτό το ράφι: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Επεξεργασία ενός ραφιού" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Αλλαγή σειράς του Ραφιού: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Το ράφι %(title)s δημιουργήθηκε" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Το ράφι %(title)s άλλαξε" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Υπήρξε ένα σφάλμα" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Ένα δημόσιο ράφι με το όνομα '%(title)s' υπάρχει ήδη." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Ένα ιδιωτικό ράφι με το όνομα '%(title)s' υπάρχει ήδη." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Ράφι: '%(name)s" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Σφάλμα κατά το άνοιγμα του ραφιού. Το ράφι δεν υπάρχει ή δεν είναι προσβάσιμο" @@ -1396,12 +1429,12 @@ msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να msgid "Success! Confirmation Email has been sent." msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1427,7 +1460,7 @@ msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου" #: cps/web.py:1403 @@ -1464,46 +1497,46 @@ msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός γ msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Αποστολή στο Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Το εργαλείο μετατροπής Calibre ebook %(tool)s δεν βρέθηκε" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s μορφή δεν βρέθηκε σε δίσκο" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Ο μετατροπέας Ebook απέτυχε με άγνωστο σφάλμα" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Ο μετατροπέας Kepubify απέτυχε: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Το τροποποιημένο αρχείο δεν βρέθηκε ή υπάρχουν περισσότερα από ένα αρχεία στο φάκελο %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ο μετατροπέας Ebook απέτυχε: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Το Calibre απέτυχε με σφάλμα: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1515,11 +1548,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "επεξεργασία μεταδεδομένων" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1680,7 +1717,7 @@ msgstr "Μαγικός Σύνδεσμος Απομακρυσμένης Σύνδ msgid "Reverse Proxy Login" msgstr "Αναστροφή Σύνδεσης Διακομιστή Μεσολάβησης" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Αναστροφή Proxy Όνομα Επικεφαλίδας" @@ -1780,13 +1817,13 @@ msgid "Are you sure you want to restart?" msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις επανεκκίνηση" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1971,8 +2008,8 @@ msgstr "Προβολή Βιβλίου σε Αποθήκευση" msgid "Fetch Metadata" msgstr "Συγκέντρωση Μεταδεδομένων" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2139,27 +2176,31 @@ msgstr "Συγχώνευση" msgid "Location of Calibre Database" msgstr "Τοποθεσία Βάσης Δεδομένων Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Χρήση Google Drive;" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Πιστοποίηση αυθεντικότητας Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Αρχείο Google Drive Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Ταυτότητα Καναλιού Προβολής Μεταδεδομένων" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Αναίρεση" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" @@ -2221,259 +2262,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Ενεργοποίηση Ανεβάσματος" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Ενεργοποίηση Ανεβάσματος" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Επιτρεπόμενες Μορφές Αρχείων για Ανέβασμα" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Ενεργοποίηση Ανώνυμης Περιήγησης" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Ενεργοποίηση Δημόσιας Εγγραφής" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Χρήση E-Mail ως Όνομα Χρήστη" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Ενεργοποίηση Μαγικού Συνδέσμου Απομακρυσμένης Σύνδεσης" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Ενεργοποίηση συγχρονισμού Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy άγνωστα αιτήματα στο Κατάστημα Kobo" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Εξωτερική Θύρα Διακομιστή (για κλήσεις API προωθημένες στη θύρα)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Χρήση Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Δημιουργία ενός Κλειδιού API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads Κλειδί API" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads Μυστικό API" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Να Επιτραπεί η Αναστροφή Επαλήθευσης Proxy" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Είδος σύνδεσης" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Χρήση Στεθερής Επαλήθευσης" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Χρήση Επαλήθευσης LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Χρήση OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Όνομα Διακομιστή Φιλοξενίας LDAP ή Διεύθυνση IP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Θύρα Διακομιστή LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP Αποκρυπτογράφηση" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP Επαλήθευση" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Ανώνυμοι" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Μη επαληθεύσιμο" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Απλό" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP Όνομα Χρήστη Διαχειριστή" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP Κωδικός Διαχειριστή" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Χαρακτηριστικό Όνομα (ΧΟ)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP Αντικείμενο Φίλτρου Χρήστη" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Είναι ο Διακομιστής LDAP OpenLDAP;" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Χρειάζονται οι Ακόλουθες Ρυθμίσεις για Εισαγωγη Χρήστη" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Αντικείμενο Φίλτρου Ομάδας LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP Όνομα Ομάδας" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP Πεδίο Μελών Ομάδας" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Απόκτηση %(provider)s OAuth Διαπιστευτήρια" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Ταυτότητα Πελάτη" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Μυστικό Πελάτη" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Εξωτερικοί Δυαδικοί" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Πορεία για το Μετατροπέα Calibre E-Book" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre E-Book Ρυθμίσεις Μετατροπέα" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Πορεία για Μετατροπέα Kepubify E-Book" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Τοποθεσία δυαδικού Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth Ρυθμίσεις" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Επαναφορά Κωδικού χρήστη" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo index 1c68874b..45a52cbf 100644 Binary files a/cps/translations/es/LC_MESSAGES/messages.mo and b/cps/translations/es/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index f1015f3f..f223b23e 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-05-25 17:22+0200\n" "Last-Translator: minakmostoles \n" "Language: es\n" @@ -48,8 +48,8 @@ msgstr "Comando desconocido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Puesto en cola un correo electrónico de prueba enviado a %(email)s, por favor, comprueba el resultado en Tareas" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Desconocido" @@ -93,7 +93,7 @@ msgstr "Mostrar todo" msgid "Malformed request" msgstr "Petición mal formulada" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "El nombre de invitado no se puede cambiar" @@ -101,7 +101,7 @@ msgstr "El nombre de invitado no se puede cambiar" msgid "Guest can't have this role" msgstr "El invitado no puede tener ese rol" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario" @@ -133,7 +133,7 @@ msgstr "No hay un sitio válido" msgid "No Valid Book Language Given" msgstr "No se ha indicado un idioma válido para el libro" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parámetro no encontrado" @@ -145,7 +145,7 @@ msgstr "Columna de lectura no válida" msgid "Invalid Restricted Column" msgstr "Columna restringida no válida" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" @@ -297,11 +297,11 @@ msgstr "Cambiar parámetros de correo" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Error en la base de datos: %(error)s." @@ -340,7 +340,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." @@ -348,7 +348,7 @@ msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tar msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuario %(nick)s" @@ -459,68 +459,68 @@ msgstr "La ruta de la base de datos no es válida. Por favor, Introduce la ruta msgid "DB is not Writeable" msgstr "La base de datos no es modificable" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Keyfile no es válida, por favor, Introduce la ruta correcta" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta de Certfile no es válida, por favor, Introduce la ruta correcta" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Actualizados los ajustes del servidor de correo electrónico" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Configuración de la base de datos" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "¡Por favor, rellena todos los campos!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "El correo electrónico no tiene un dominio válido" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Añadir un nuevo usuario" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Encontrada una cuenta existente para este correo electrónico o nombre de usuario." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' eliminado" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "No puedes borrar al Usuario Invitado" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "No queda ningún usuario administrador, no se puede borrar al usuario" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -538,117 +538,117 @@ msgstr "Faltan permisos de ejecución" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Columna personalizada No.%(column)d no existe en la base de datos calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ninguno" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 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:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadatos actualizados con éxito" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "El fichero %(file)s ha sido subido" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Falta la fuente o el formato de destino para la conversión" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocurrió un error al convertir este libro: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s no es un idioma válido" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex) no es un número válido, saltando" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo al crear la ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Fallo al guardar el archivo %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Archivo con formato %(ext)s añadido a %(book)s" @@ -661,180 +661,208 @@ msgstr "La configuración de Google Drive no se ha completado, intente desactiva msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "El dominio Callback no se ha verificado, siga los pasos para verificarlo en la consola de desarrollador de Google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formato no encontrado para el id del libro: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s no encontrado en Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s no encontrado: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Enviar al Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este correo electrónico ha sido enviado usando Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Correo de prueba de Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Comprobar correo electrónico" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Primeros pasos con Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Correo electrónico de registro para el usuario: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Convertir %(orig)s a %(format)s y enviar al Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviado %(format)s al Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Enviar al Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "El archivo solicitado no puede ser leído. ¿Quizás existen problemas con los permisos?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Fallo al intentar borrar la carpeta del libro %(id)s, la ruta tiene subcarpetas: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "El eliminado del libro %(id)s falló: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Borrando el libro %(id)s, la ruta del libro es no válida: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con el error: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fichero %(file)s no encontrado en Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con el error: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format 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:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Este nombre de usuario ya está en uso" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Dirección de correo no válida" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Error al descargar la cubierta" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Error en el formato de la cubierta" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Error al crear una ruta para la cubierta" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "El archivo de cubierta no es una imágen válida" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Sólo se admiten como portada los archivos jpg/jpeg/png/webp/bmp" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Sólo se admiten como portada los archivos jpg/jpeg" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "No se encuentra el archivo binario UnRar" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Error ejecutando UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Descubrir" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "No se encuentra el archivo binario UnRar" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Error ejecutando UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "La base de datos no es modificable" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Faltan permisos de ejecución" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Error ejecutando UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1121,7 +1149,7 @@ msgstr "Error en la búsqueda de columnas personalizadas, por favor reinicia Cal msgid "Advanced Search" msgstr "Búsqueda avanzada" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Estantería especificada no válida" @@ -1135,100 +1163,105 @@ msgstr "Lo sentimos, no tiene permisos para agregar un libro al estante: %(shelf msgid "Book is already part of the shelf: %(shelfname)s" msgstr "El libro ya forma parte del estante: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "El libro fue agregado a el estante: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Los libros ya forman parte del estante: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Los libros han sido añadidos al estante: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "No se pudieron agregar libros al estante: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "El libro fue eliminado del estante: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crear un estante" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Lo siento, no tiene permiso para eliminar un libro del estante: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Editar un estante" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Libro eliminado con éxito" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar orden del estante: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s creado" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s cambiado" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Ha sucedido un error" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Ya existe un estante público con el nombre '%(title)s'." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Ya existe un estante privado con el nombre '%(title)s'." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Error al abrir un estante. El estante no existe o no es accesible" @@ -1401,12 +1434,12 @@ msgstr "Su correo electrónico no está permitido para registrarse" msgid "Success! Confirmation Email has been sent." msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "No se puede activar la autenticación LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1432,7 +1465,7 @@ msgstr "Usuario o contraseña inválido" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Una nueva contraseña se ha enviado a su cuenta de correo electrónico" #: cps/web.py:1403 @@ -1469,46 +1502,46 @@ msgstr "Encontrada una cuenta existente para esa dirección de correo electróni msgid "Found no valid gmail.json file with OAuth information" msgstr "No se ha encontrado ningún archivo gmail.json válido con información OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Enviar al Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s no encontrado" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s format no encontrado en disco" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "El conversor de Ebook falló con un error desconocido" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter falló: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Archivo convertido no encontrado, o más de un archivo en el directorio %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Falló Ebook-converter: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre falló con el error: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1520,11 +1553,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "editar metadatos" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1686,7 +1723,7 @@ msgstr "Acceso remoto mediante enlace mágico" msgid "Reverse Proxy Login" msgstr "Acceso mediante Proxy inverso" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nombre de cabecera de Proxy inverso" @@ -1786,13 +1823,13 @@ msgid "Are you sure you want to restart?" msgstr "¿Realmente quieres reiniciar?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1977,8 +2014,8 @@ msgstr "Ver libro tras la edición" msgid "Fetch Metadata" msgstr "Obtener metadatos" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2145,27 +2182,31 @@ msgstr "Fusionar" msgid "Location of Calibre Database" msgstr "Ubicación de la base de datos Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "¿Usar Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentificar Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Carpeta de Google Drive para Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Revocar" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "La ruta de la base de datos no es válida. Por favor, Introduce la ruta correcta" @@ -2227,259 +2268,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Permitir subidas" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Permitir subidas" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formatos de archivo permitidos para subida" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Permitir navegación anónima" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Permitir registro público" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Utilizar eMail como nombre de usuario" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Permitir inicio de sesión remoto (\"magic link\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Activar la sincronización con Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Peticiones proxy a la tienda Kobo desconocidas" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Puerto externo del servidor (para peticiones API)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Usar Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Obtener una API Key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Permitir Autenticación Proxy Inversas" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipo de inicio de sesión" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Usar autenticación estándar" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Usar autenticación LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Usar OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nombre de host o dirección IP del servidor LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Puerto del servidor LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Encriptación LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP CACertificate (Solo necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP Certificate (Solo necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP Keyfile (Solo necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Autenticación LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anónimo" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "No autenticado" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simple" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nombre de usuario de administrador LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Contraseña de administrador LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Nombre distinguido LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtro de objetos de usuario LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "¿El servidor LDAP es OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "La siguiente configuración son necesarias para la importación de usuarios" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtro de objetos de grupo LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nombre de grupo LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Campo de miembros de grupo LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Filtro de detección LDAP Member User" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Auto detectar" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtro personalizado" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtro LDAP Member User" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Obtener la Credencial OAuth de %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "Id de cliente de OAuth de %(provider)s" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Secreto OAuth de Cliente de %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Binarios externos" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Ruta para Calibre E-Book Converter" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Configuración de Calibre E-Book Converter" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Ruta para Kepubify E-Book Converter" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Ubicación del binario de Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Ajustes OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Resetear contraseña de usuario" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo index 6172c12b..47fb8c97 100644 Binary files a/cps/translations/fi/LC_MESSAGES/messages.mo and b/cps/translations/fi/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/fi/LC_MESSAGES/messages.po b/cps/translations/fi/LC_MESSAGES/messages.po index af37874f..9c3322b8 100644 --- a/cps/translations/fi/LC_MESSAGES/messages.po +++ b/cps/translations/fi/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-01-12 13:56+0100\n" "Last-Translator: Samuli Valavuo \n" "Language: fi\n" @@ -45,8 +45,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(eReadermail)s" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Tuntematon" @@ -90,7 +90,7 @@ msgstr "Näytä kaikki" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -98,7 +98,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -130,7 +130,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -142,7 +142,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web asetukset päivitetty" @@ -293,11 +293,11 @@ msgstr "Muuta SMTP asetuksia" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -336,7 +336,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." @@ -344,7 +344,7 @@ msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Muokkaa käyttäjää %(nick)s" @@ -453,68 +453,68 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Sähköpostipalvelimen tiedot päivitetty" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Ominaisuuksien asetukset" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Ole hyvä ja täytä kaikki kentät!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Sähköpostiosoite ei ole toimivasta domainista" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Lisää uusi käyttäjä" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Käyttäjä '%(user)s' lisätty" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Tälle sähköpostiosoitteelle tai tunnukselle löytyi jo tili." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Käyttäjä '%(nick)s' poistettu" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Pääkäyttäjiä ei jää jäljelle, käyttäjää ei voi poistaa" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Käyttäjä '%(nick)s' päivitetty" @@ -532,117 +532,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ei mitään" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata päivitetty onnistuneesti" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Tiedosto %(file)s tallennettu" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Lähteen tai kohteen tiedostomuoto puuttuu" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s ei ole kelvollinen kieli" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Ladattavalla tiedostolla on oltava tiedostopääte" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "muokkaa metadataa" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Tiedoston %(file)s tallennus epäonnistui." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s" @@ -655,178 +655,204 @@ msgstr "Google Drive asetukset ei ole valmiit. Koita poistaa Google Drive käyt msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Paluuosoitteen domain ei ole varmistettu, seuraa ohjeita vamistaaksesi sen googlen kehittäjäkonsolissa" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s tiedostomuotoa ei löytynyt kirjalle: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s ei löytynyt Google Drivesta: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ei löydy: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Lähetä Kindleen" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Tämä sähköposti on lähetetty Calibre-Web:sta." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web testisähköposti" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Testi sähköposti" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Aloita Calibre-Web:in käyttö" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Rekiströintisähköposti käyttäjälle: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Muunna %(orig)s muotoon %(format)s ja lähetä Kindleen" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Lähetä %(format)s Kindleen" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Lähetä Kindleen" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Haettua tiedostoa ei pystytty lukemaan. Ehkä vaäärät oikeudet?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Löydä" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1112,7 +1138,7 @@ msgstr "" msgid "Advanced Search" msgstr "Edistynyt haku" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Virheellinen hylly valittu" @@ -1126,100 +1152,105 @@ msgstr "Valitettavasti sinulla ei ole oikeutta lisätä kirjaa hyllyyn: %(shelfn msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Kirja on jo hyllyssä: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Kirja on lisätty hyllyyn: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Kirjat on jo osa hyllyssä: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Kirjat on lisätty hyllyyn: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Kirjojen lisäys hyllyyn: %(sname)s epäonnistui" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Kirja on poistettu hyllystä: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "luo hylly" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Valitettavsti sinulla ei ole oikeutta poistaa kirjaa hyllystä: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Muokkaa hyllyä" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Metadata päivitetty onnistuneesti" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Muuta hyllyn: '%(name)s' järjestystä" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Hylly %(title)s luotu" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Hylly %(title)s muutettu" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Tapahtui virhe" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylly: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Virhe hyllyn avauksessa. Hyllyä ei ole tai se ei ole saatavilla" @@ -1392,12 +1423,12 @@ msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä" msgid "Success! Confirmation Email has been sent." msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "LDAP autnetikoinnin aktivointi ei onnistu" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1422,7 +1453,7 @@ msgid "Wrong Username or Password" msgstr "Väärä käyttäjätunnus tai salasana" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "" #: cps/web.py:1403 @@ -1459,46 +1490,46 @@ msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus." msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Lähetä Kindleen" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "E-kirjan muunnos epäonnistui: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1510,11 +1541,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "muokkaa metadataa" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1675,7 +1710,7 @@ msgstr "Etäkirjautuminen" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1775,13 +1810,13 @@ msgid "Are you sure you want to restart?" msgstr "Haluatko varmasti uudelleenkäynnistää Calibre-Webin?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1966,8 +2001,8 @@ msgstr "katso kirjaa muokkauksen jälkeen" msgid "Fetch Metadata" msgstr "Hae metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2134,27 +2169,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "Calibre -tietokannan paikka" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Käytä Google Drivea?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentikoi Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre -kansio" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Katso kanava ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Kumoa" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2215,259 +2254,263 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Salli lähetys" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Salli lähetys" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Salli nimetön selailu" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Salli julkinen rekisteröinti" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Salli etäkirjautuminen (\"magic link\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Käytä Goodreads -palvelua" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Hae API-avain" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API-avain" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API-salaisuus" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Kirjautumisen tyyppi" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Käytä oletuskirjautumista" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Käytä LDAP kirjautumista" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Käytä OAuth kirjautumista" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP palvelimen nimi tai IP osoite" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP Palveimen portti" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP pääkäyttäjän käyttäjänimi" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP pääkäyttäjän salasana" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP DN" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP käyttäjä suodin (object filter)" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP palvelin on OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Hanki %(provider)s OAuth valtuutus" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth asiakas Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth asiakas salaisuus" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Ulkoiset binäärit" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrar binäärin paikka" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth asetukset" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Nollaa käyttäjän salasana" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo index 6c97b6c9..9583247c 100644 Binary files a/cps/translations/fr/LC_MESSAGES/messages.mo and b/cps/translations/fr/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index 1340b87f..18542c3c 100644 --- a/cps/translations/fr/LC_MESSAGES/messages.po +++ b/cps/translations/fr/LC_MESSAGES/messages.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-06-07 06:47+0200\n" "Last-Translator: \n" "Language: fr\n" @@ -60,8 +60,8 @@ msgstr "Commande inconnue" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Teste les courriels en file d’attente pour l’envoi à %(email)s, veuillez vérifier le résultat des tâches" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Inconnu" @@ -105,7 +105,7 @@ msgstr "Montrer tout" msgid "Malformed request" msgstr "Demande malformée" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Le nom de l’invité ne peut pas être modifié" @@ -113,7 +113,7 @@ msgstr "Le nom de l’invité ne peut pas être modifié" msgid "Guest can't have this role" msgstr "L’invité ne peut pas avoir ce rôle" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin" @@ -145,7 +145,7 @@ msgstr "Aucun paramètre régional valide n’est donné" msgid "No Valid Book Language Given" msgstr "Aucune langue de livre valide donnée" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Paramètre non trouvé" @@ -157,7 +157,7 @@ msgstr "Colonne de lecture non valide" msgid "Invalid Restricted Column" msgstr "Colonne restreinte non valide" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Configuration de Calibre-Web mise à jour" @@ -309,11 +309,11 @@ msgstr "Modifier les paramètres du serveur de courriels" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erreur de la base de données: %(error)s." @@ -352,7 +352,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." @@ -360,7 +360,7 @@ msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Éditer l'utilisateur %(nick)s" @@ -471,68 +471,68 @@ msgstr "L'emplacement de la base de données est incorrect, veuillez saisir un c msgid "DB is not Writeable" msgstr "La base de données n'est pas accessible en écriture" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Keyfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Certfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Configuration des options" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Veuillez compléter tous les champs !" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Cette adresse de courriel n’appartient pas à un domaine valide" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Utilisateur '%(user)s' créé" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Un compte existant a été trouvé pour cette adresse de courriel ou pour ce surnom." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilisateur '%(nick)s' supprimé" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Impossible de supprimer l’utilisateur Invité" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" @@ -550,117 +550,117 @@ msgstr "Les permissions d'exécutions manquantes" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "La colonne personnalisée No.%(column)d n'existe pas dans la base de données calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Aucun" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 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:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Les métadonnées ont bien été mises à jour" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Le fichier %(file)s a été téléchargé" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 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:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, 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" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s n'est pas une langue valide" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Pour être déposé le fichier doit avoir une extension" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Le format du livre a été supprimé avec succès" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Le livre a été supprimé avec succès" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Vous n’avez par les permissions pour supprimer les livres" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s n’est pas un nombre valide, ignoré" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, 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:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Échec de la sauvegarde du fichier %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s" @@ -673,180 +673,208 @@ msgstr "La configuration de Google Drive n’est pas terminée, essayez de désa msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Le domaine de retour d’appel (Callback domain) est non vérifié, veuillez suivre les étapes nécessaires pour vérifier le domaine dans la console de développement de Google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "le format %(format)s est introuvable pour le livre : %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "le %(format)s est introuvable sur Google Drive : %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s introuvable : %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Envoyer vers Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Ce courriel a été envoyé depuis Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Courriel de test de Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Courriel de test" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Bien démarrer avec Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Courriel d’inscription pour l’utilisateur : %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Convertir de %(orig)s vers %(format)s et envoyer au Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Envoyer %(format)s vers le Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Envoyer vers Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Le fichier demandé n’a pu être lu. Problème de permission d’accès ?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Échec de la suppression du dossier de livre pour le livre %(id)s, le chemin d’accès comporte des sous-dossiers : %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "La suppression du livre %(id)s a échoué: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Suppression du livre %(id)s, le chemin du livre est invalide : %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format 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:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Cet utilisateur est déjà pris" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Format de l’adresse courriel invalide" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Erreur lors du téléchargement de la couverture" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Erreur de format de couverture" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Impossible de créer le chemin pour la couverture" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Le fichier couverture n'est pas un fichier image valide, ou ne peut pas être stocké" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Seuls les fichiers jpg/jpeg/png/webp/bmp sont supportés comme fichier de couverture" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Contenu du fichier de couverture invalide" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Seuls les fichiers jpg/jpeg sont supportés comme fichier de couverture" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Fichier binaire Unrar non trouvé" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Une erreur est survenue lors de l'exécution d'UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Découvrir" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Fichier binaire Unrar non trouvé" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Une erreur est survenue lors de l'exécution d'UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "La base de données n'est pas accessible en écriture" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Les permissions d'exécutions manquantes" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Une erreur est survenue lors de l'exécution d'UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1133,7 +1161,7 @@ msgstr "Erreur lors de la recherche de colonnes personnalisées, veuillez redém msgid "Advanced Search" msgstr "Recherche avancée" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "L’étagère indiquée est invalide" @@ -1147,100 +1175,105 @@ msgstr "Désolé, vous n’êtes pas autorisé à ajouter un livre dans l’éta msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Ce livre est déjà sur l’étagère : %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Vous n’êtes pas autorisé à ajouter un livre à l’étagère" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Ces livres sont déjà sur l’étagère : %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Les livres ont été ajoutés à l’étagère : %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Impossible d’ajouter les livres à l’étagère : %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Le livre a été supprimé de l'étagère %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Désolé, vous n’êtes pas autorisé à supprimer un livre de cette étagère" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Créer une étagère" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Désolé, vous n’êtes pas autorisé à enlever un livre de cette étagère : %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Modifier une étagère" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Le livre a été supprimé avec succès" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Modifier l’arrangement de l’étagère : ‘%(name)s’" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Désolé, vous n’êtes pas autorisé à créer une étagère publique" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Étagère %(title)s créée" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "L’étagère %(title)s a été modifiée" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Il y a eu une erreur" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Une étagère publique avec le nom '%(title)s' existe déjà." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Une étagère privée avec le nom '%(title)s' existe déjà." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Étagère : '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Erreur à l’ouverture de l’étagère. Elle n’existe plus ou n’est plus accessible" @@ -1413,12 +1446,12 @@ msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription" msgid "Success! Confirmation Email has been sent." msgstr "Le courriel de confirmation a été envoyé à votre adresse." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Impossible d’activer l’authentification LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1444,7 +1477,7 @@ msgstr "Mauvais nom d'utilisateur ou mot de passe" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Le nouveau mot de passe a été envoyé vers votre adresse de courriel" #: cps/web.py:1403 @@ -1481,46 +1514,46 @@ msgstr "Un compte existant a été trouvé pour cette adresse de courriel." msgid "Found no valid gmail.json file with OAuth information" msgstr "Aucun fichier gmail.json avec information OAuth valide trouvé" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Envoyer vers Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "ebook-convert calibre %(tool)s non trouvé" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Format %(format)s non trouvé sur le disque" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Le convertisseur Ebook a échoué avec une erreur inconnue" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "La commande Kepubify-converter a échouée : %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Fichier converti non trouvé ou plus d'un fichier dans le chemin %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "La commande ebook-convert a échouée : %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre a échoué avec l’erreur : %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1532,11 +1565,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "modifier les métadonnées" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1698,7 +1735,7 @@ msgstr "Connexion à distance Magic Link" msgid "Reverse Proxy Login" msgstr "Compte du Reverse Proxy" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nom de l'en-tête du Reverse Proxy" @@ -1798,13 +1835,13 @@ msgid "Are you sure you want to restart?" msgstr "Voulez-vous vraiment redémarrer Calibre-Web?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1989,8 +2026,8 @@ msgstr "Voir le livre lors de la sauvegarde" msgid "Fetch Metadata" msgstr "Obtenir les métadonnées" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2157,27 +2194,31 @@ msgstr "Fusionner" msgid "Location of Calibre Database" msgstr "Emplacement de la base de données Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Utiliser Google Drive ?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Authentification Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Répertoire Google Drive pour Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Révoquer" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "L'emplacement DB est incorrect, veuillez saisir un chemin valide" @@ -2239,259 +2280,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Convertir les caractères non-anglais des titre et auteur lors de l’enregistrement sur le disque" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Autoriser le téléversement de fichier" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Svp, vérifiez que les utilisateurs ont aussi les droits de téléchargement vers le serveur)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formats de fichiers à télécharger autorisés" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Autoriser la navigation anonyme" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Autoriser l’inscription publique" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Utiliser l'e-mail comme nom d'utilisateur" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Activer la connexion à distance Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Activer la synchro Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Requêtes du Proxy inconnues vers le magasin Kobo" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Port externe du serveur (pour les appels d’API transférés par port)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Utiliser Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Obtenir la clé API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Clé de l’API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Secret de l’API Goodreads" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Autoriser l'authentification Reverse Proxy" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Type de connexion" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Utiliser l’authentification standard" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Utiliser l’authentification LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Utiliser OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nom d'hôte ou Adresse IP du serveur LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Port du serveur LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Chiffrement LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Chemin d’accès LDAP CACertificat (uniquement requis pour l’authentification par certificat client)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Chemin d’accès LDAP CACertificat (requis uniquement pour l’authentification par certificat client)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Chemin d’accès au fichier de clés LDAP (requis uniquement pour l’authentification par certificat client)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Authentification LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonyme" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Non authentifié" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simple" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nom d'utilisateur de l'administrateur LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Mot de passe de l'administrateur LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtre objet de l'utilisateur LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Est-ce que le serveur LDAP est OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Les paramètres suivant sont nécessaires pour importer un utilisateur" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtre objet de groupe LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nom de groupe LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Champ des membres de groupe LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Filtre de détection des utilisateurs membres LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Détecter automatiquement" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtre personnalisé" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtre utilisateur des membres LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Obtenir les identifiants OAuth %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "Client Id OAuth %(provider)s" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Client secret OAuth %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Configuration des outils de conversion externes" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Chemin vers le convertisseur de livres Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Paramètres du convertisseur de livres Calibre" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Chemin vers le convertisseur de livres Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Chemin d’accès à la commande UnRar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Réglages OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Réinitialiser le mot de passe de l’utilisateur" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/gl/LC_MESSAGES/messages.mo b/cps/translations/gl/LC_MESSAGES/messages.mo index 40b996e9..ce4969cf 100644 Binary files a/cps/translations/gl/LC_MESSAGES/messages.mo and b/cps/translations/gl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/gl/LC_MESSAGES/messages.po b/cps/translations/gl/LC_MESSAGES/messages.po index ffca5448..4df398ed 100644 --- a/cps/translations/gl/LC_MESSAGES/messages.po +++ b/cps/translations/gl/LC_MESSAGES/messages.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2022-08-11 16:46+0200\n" "Last-Translator: pollitor \n" "Language: gl\n" @@ -43,8 +43,8 @@ msgstr "Orde descoñecida" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Posto en cola un correo electrónico de proba enviado a %(email)s, por favor, comproba o resultado nas Tarefas" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Descoñecido" @@ -87,7 +87,7 @@ msgstr "Mostrar Todo" msgid "Malformed request" msgstr "Petición mal formada" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "O nome do convidado non se pode cambiar" @@ -95,7 +95,7 @@ msgstr "O nome do convidado non se pode cambiar" msgid "Guest can't have this role" msgstr "O convidado non pode ter este rol" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Non queda ningún usuario administrador, non se pode eliminar ao usuario" @@ -127,7 +127,7 @@ msgstr "Non hai unha localización válida" msgid "No Valid Book Language Given" msgstr "Non se indicou unha lingua válida para o libro" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parámetro non atopado" @@ -139,7 +139,7 @@ msgstr "Columna de lectura non válida" msgid "Invalid Restricted Column" msgstr "Columna restrinxida non válida" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" @@ -286,11 +286,11 @@ msgstr "Cambiar os parámetros do correo" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Error na base de datos: %(error)s." @@ -329,7 +329,7 @@ msgstr "Indicada unha duracción incorrecta para a tarefa" msgid "Scheduled tasks settings updated" msgstr "Actualizouse a configuración das tarefas programadas" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Sucedeu un erro descoñecido. Por favor volva a intentalo máis tarde." @@ -337,7 +337,7 @@ msgstr "Sucedeu un erro descoñecido. Por favor volva a intentalo máis tarde." msgid "Settings DB is not Writeable" msgstr "A configuración da DB non se pode escribir" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Editar o Usuario %(nick)s" @@ -446,65 +446,65 @@ msgstr "A localización da base de datos non é válida. Por favor, Introduce a msgid "DB is not Writeable" msgstr "A base de datos non é modificable" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do Keyfile non é válida, por favor, Introduce a ruta correcta" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do Certfile non é válida, por favor, Introduce a ruta correcta" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Actualizados os axustes da base de datos" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Configuración da base de datos" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Por favor, cubra todos os campos!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "O correo electrónico non ven dun dominio válido" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Engadir un usuario novo" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Atopada unha conta existente para este correo electrónico ou nome de usuario." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' eliminado" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Non se pode borrar ao Usuario Invitado" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Non queda ningún usuario administrador, non se pode borrar ao usuario" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -522,117 +522,117 @@ msgstr "Faltan permisos de execución" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Columna personalizada No.%(column)d non existe na base de datos calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ningún" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "oh, oh, o libro seleccionado non está disponible. O arquivo non existe ou non está accesible" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "O usuario non ten permisos para subir a cuberta" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores non distinguen entre maiúsculas e minúsculas, sobrescribindo o identificador antigo" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadatos actualizados con éxito" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Erro editando libro: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "O ficheiro %(file)s subiuse" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Falta a fonte ou o formato de destino para a conversión" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro posto na cola para a súa conversión a %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Houbo un erro ao convertir este libro: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O libro cargado probablemente existe na biblioteca, considera cambialo antes de subilo outra vez: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non é unha lingua válida" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Non se permite subir arquivos coa extensión '%(ext)s' a este servidor" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "O arquivo que se vai cargar debe ter unha extensión" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "El archivo %(filename)s non puido gravarse no directorio temporal (Temp Dir)" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Fallo ao mover o arquivo de cuberta %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Vostede non ten permisos para borrar libros" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s non é un número válido, saltando" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "O usuario non ten permisos para cargar formatos de ficheiro adicionais" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo ao crear a ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Fallo ao gardar o arquivo %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Arquivo con formato %(ext)s engadido a %(book)s" @@ -645,178 +645,206 @@ msgstr "A configuración de Google Drive non se completou, intente desactivar e msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "O dominio Callback non se comprobou, siga os pasos para comprobalo na consola de desenvolvedor de Google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formato non atopado para o id do libro: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s non atopado en Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non atopado: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Enviar ao Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este correo electrónico enviouse empregando Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Correo de proba de Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Comprobar correo electrónico" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Primeiros pasos con Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Correo electrónico de rexistro para o usuario: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Convertir %(orig)s a %(format)s e enviar ao Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviado %(format)s ao Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Enviar ao Kindle %(book)s" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "O arquivo solicitado non pode lerse. Quizais existen problemas cos permisos?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "O estado de lectura non pode fixarse: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Fallo ao intentar borrar a carpeta do libro %(id)s, a ruta ten subcarpetas: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "O borrado do libro %(id)s fallou: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Borrando o libro %(id)s, a ruta de libro non é válida: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "O renomeado do título de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Ficheiro %(file)s non atopado en Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "O renomeado do título de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Erro ao renomear o ficheiro na ruta: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "A ruta %(path)s do libro non se atopou en Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Este nome de usuario xa está en uso" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Enderezo de correo non válido" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo Python 'advocate' non está instalado pero se necesita para as cargas de cubertas" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Erro ao descargar a cuberta" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Erro no formato da cuberta" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Non ten permiso para acceder a localhost ou á rede local para as cargas de cubertas" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Erro ao crear unha ruta para a cuberta" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O arquivo de cuberta non é unha imaxe válida" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Soamente se admiten como cuberta os arquivos jpg/jpeg/png/webp/bmp" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Contido do arquivo de cuberta non válido" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Soamente se admiten como cuberta os arquivos jpg/jpeg" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Non se atopa o arquivo binario de UnRar" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "Erro executando UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Descubrir" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Non se atopa o arquivo binario de UnRar" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "Erro executando UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "A base de datos non é modificable" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Faltan permisos de execución" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Erro executando UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1102,7 +1130,7 @@ msgstr "Erro na busca de columnas personalizadas, por favor reinicia Calibre-Web msgid "Advanced Search" msgstr "Búsqueda avanzada" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Andel especificado non válido" @@ -1115,98 +1143,103 @@ msgstr "Sentímolo, non ten permisos para engdir un libro ao andel: %(shelfname) msgid "Book is already part of the shelf: %(shelfname)s" msgstr "O libro xa forma parte do andel: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "O libro engadiuse ao andel: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Non ten permiso para engadir un libro ao andel" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Os libros xa forman parte do andel: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Os libros engadíronse ao andel: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Non se pudideron engadir libros ao andel: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "O libro eliminouse do andel: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Síntoo, non ten permiso para quitar un libro do andel" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crear un andel" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Síntoo, non ten permiso para editar o andel: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Editar un andel" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Erro borrando o estante" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Andel eliminado con éxito" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar a orde do andel: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Síntoo, non ten permiso para crear un andel público" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Andel %(title)s creado" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Andel %(title)s cambiado" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Ocorreu un erro" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Xa existe un andel público co nome '%(title)s'." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Xa existe un andel privado co nome '%(title)s'." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Andel: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Erro ao abrir un andel. O andel non existe ou non se pode acceder" @@ -1379,12 +1412,12 @@ msgstr "O seu correo electrónico non está permitido para rexistrarse" msgid "Success! Confirmation Email has been sent." msgstr "Mandouse un correo electrónico de verificación á súa conta de correo." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Non se pode activar a autenticación LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1410,7 +1443,7 @@ msgstr "Usuario ou contrasinal no válido" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Unha nova contrasinal enviouse ao seu enderezo de correo electrónico" #: cps/web.py:1403 @@ -1446,46 +1479,46 @@ msgstr "Atopada unha conta existente para ese enderezo de correo electrónico" msgid "Found no valid gmail.json file with OAuth information" msgstr "Non se atopou ningún arquivo gmail.json válido con información OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "Enviar ao Kindle %(book)s" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Non se atopou Calibre ebook-convert %(tool)s" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "O formato %(format)s non se atopou no disco" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "O conversor de Ebook fallou cun erro descoñecido" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter fallou: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Arquivo convertido non atopado, ou máis dun arquivo no directorio %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Fallou Ebook-converter: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre fallou co erro: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Convertir" @@ -1497,11 +1530,15 @@ msgstr "Reconectando a base de datos de Calibre" msgid "E-mail" msgstr "Correo electrónico" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "editar metadatos" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1662,7 +1699,7 @@ msgstr "Acceso remoto mediante enlace máxico" msgid "Reverse Proxy Login" msgstr "Acceso mediante Proxy inverso" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nome de cabeceira do Proxy inverso" @@ -1761,13 +1798,13 @@ msgid "Are you sure you want to restart?" msgstr "De verdade queres reiniciar?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Vale" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1952,8 +1989,8 @@ msgstr "Ver libro ao gardar" msgid "Fetch Metadata" msgstr "Obter metadatos" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2117,27 +2154,31 @@ msgstr "Unir" msgid "Location of Calibre Database" msgstr "Localización da base de datos Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Usar Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autenticar Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Carpeta de Google Drive para Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Revogar" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "A localización da base de datos non é válida. Por favor, Introduce a ruta correcta" @@ -2198,259 +2239,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Convertir caracteres non ingleses no título e no autor mentres se graba no disco" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Permitir cargas" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Por favor asegúrese que os usuarios teñen permisos de carga)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formatos de arquivo permitidos para carga" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Permitir navegación anónima" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Permitir rexistro público" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Utilizar correo electrónico como nome de usuario" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Permitir inicio de sesión remoto (\"magic link\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Activar a sincronización con Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Peticións proxy á tenda Kobo descoñecidas" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Porto externo do servidor (para peticións API)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Usar Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Obter unha API Key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Permitir Autenticación Proxy Inversa" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipo de inicio de sesión" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Usar autenticación estándar" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Usar autenticación LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Usar OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nome de anfitrión ou enderezo IP do servidor LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Porto do servidor LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Cifrado LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP CACertificate (So necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP Certificate (So necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Ruta LDAP Keyfile (So necesaria para certificado de autenticación de cliente)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Autenticación LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anónimo" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Non autenticado" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simple" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nome de usuario de administrador LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Contrasinal de administrador LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Nome distinguido LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtro de obxectos de usuario LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "O servidor LDAP é OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "As seguintes configuracións son necesarias para a importación de usuarios" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtro de obxectos de grupo LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nome de grupo LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Campo de membros de grupo LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Filtro de detección LDAP Member User" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Auto detectar" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtro personalizado" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtro LDAP Member User" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Obter a Credencial OAuth de %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "Id de cliente de OAuth de %(provider)s" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Secreto OAuth de Cliente de %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Binarios externos" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Ruta para Calibre E-Book Converter" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Axustes de Calibre E-Book Converter" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Ruta para Kepubify E-Book Converter" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Localización do binario de Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Axustes OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Restablecer contrasinal de usuario" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo index 1efa59e8..abea5cb8 100644 Binary files a/cps/translations/hu/LC_MESSAGES/messages.mo and b/cps/translations/hu/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/hu/LC_MESSAGES/messages.po b/cps/translations/hu/LC_MESSAGES/messages.po index e72070e4..9ba7fce0 100644 --- a/cps/translations/hu/LC_MESSAGES/messages.po +++ b/cps/translations/hu/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2019-04-06 23:36+0200\n" "Last-Translator: \n" "Language: hu\n" @@ -44,8 +44,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Ismeretlen" @@ -89,7 +89,7 @@ msgstr "Mindent mutass" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -97,7 +97,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -129,7 +129,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -141,7 +141,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "A Calibre-Web konfigurációja frissítve." @@ -292,11 +292,11 @@ msgstr "SMTP beállítások változtatása" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -335,7 +335,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ismeretlen hiba történt. Próbáld újra később!" @@ -343,7 +343,7 @@ msgstr "Ismeretlen hiba történt. Próbáld újra később!" msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr " A felhasználó szerkesztése: %(nick)s" @@ -452,68 +452,68 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Az e-mail kiszolgáló beállításai frissítve." -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Funkciók beállítása" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Az összes mezőt ki kell tölteni!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Az e-mail tartománya nem érvényes." -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Új felhasználó hozzáadása" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "A következő felhasználó létrehozva: %(user)s" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Már létezik felhasználó ehhez az e-mail címhez vagy felhasználói névhez." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "A felhasználó törölve: %(nick)s" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "A felhasználó frissítve: %(nick)s" @@ -531,117 +531,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Nincs" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Hiba történt az e-könyv megnyitásakor. A fájl nem létezik vagy nem érhető el:" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "A metaadatok sikeresen frissültek" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Az átalakításhoz hiányzik a forrás- vagy a célformátum!" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "A könyv sikeresen átalakításra lett jelölve a következő formátumra: %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Hiba történt a könyv átalakításakor: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "A(z) %(langname)s nem érvényes nyelv" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A(z) \"%(ext)s\" kiterjesztésű fájlok feltöltése nincs engedélyezve ezen a szerveren." -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "A feltöltendő fájlnak kiterjesztéssel kell rendelkeznie!" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "Metaadatok szerkesztése" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nem sikerült létrehozni az elérési utat (engedély megtagadva): %(path)s." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Nem sikerült elmenteni a %(file)s fájlt." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "A(z) %(ext)s fájlformátum hozzáadva a könyvhez: %(book)s." @@ -654,178 +654,204 @@ msgstr "A Google Drive beállítása nem fejeződött be, próbáld kikapcsolni msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "A visszahívási tartomány nem ellenőrzött, kövesd az alábbi lépéseket a tartomány ellenőrzéséhez a Google Developer Console-ban:" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "A(z) %(format)s formátum nem található a következő könyvhöz: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s nem található a Google Drive-on: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nem található: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Küldés Kindle-re" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Ez az e-mail a Calibre-Web-en keresztül lett küldve." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web teszt e-mail" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Teszt e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Kezdő lépések a Calibre-Web-bel" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Regisztrációs e-mail a következő felhasználóhoz: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s konvertálása %(format)s-ra és küldés Kindle-re" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s küldése Kindle-re" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Küldés Kindle-re" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "A kért fájl nem olvasható. Esetleg jogosultsági probléma lenne?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "A \"%(file)s\" fájl nem található a Google Drive-on" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "A könyv elérési útja (\"%(path)s\") nem található a Google Drive-on" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Felfedezés" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1111,7 +1137,7 @@ msgstr "" msgid "Advanced Search" msgstr "Részletes keresés" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "A megadott polc érvénytelen!" @@ -1125,100 +1151,105 @@ msgstr "Elnézést, nem vagy jogosult hozzáadni a könyvet a következő polcra msgid "Book is already part of the shelf: %(shelfname)s" msgstr "A könyv már a következő polcon van: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "A könyv hozzá lett adva a következő polchoz: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "A könyvek már a következő polcon vannak: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "A könyvek hozzá lettek adva a következő polchoz: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Nem sikerült hozzáadni a könyveket a polchoz: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "A könyv el lett távolítva a polcról: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Polc készítése" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Sajnálom, nincs jogosultságot eltávolítani könyvet erről a polcról: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Polc szerkesztése" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "A metaadatok sikeresen frissültek" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "A következő polc átrendezése: %(name)s" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "A következő polc létre lett hozva: %(title)s" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "A következő polc megváltoztatva: %(title)s" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Hiba történt" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Polc: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Hiba a polc megnyitásakor. A polc nem létezik vagy nem elérhető." @@ -1391,11 +1422,11 @@ msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése" msgid "Success! Confirmation Email has been sent." msgstr "Jóváhagyó levél elküldve az email címedre." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1420,7 +1451,7 @@ msgid "Wrong Username or Password" msgstr "Rossz felhasználó név vagy jelszó!" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "" #: cps/web.py:1403 @@ -1457,46 +1488,46 @@ msgstr "Már létezik felhasználó ehhez az e-mail címhez." msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Küldés Kindle-re" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Az e-könyv átalakítás nem sikerült: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1508,11 +1539,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "Metaadatok szerkesztése" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1673,7 +1708,7 @@ msgstr "Távoli belépés:" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1773,13 +1808,13 @@ msgid "Are you sure you want to restart?" msgstr "Valóban újra akarod indítani a Calibre-Web-et?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1964,8 +1999,8 @@ msgstr "Könyv megnézése szerkesztés után" msgid "Fetch Metadata" msgstr "Metaadatok beszerzése" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2132,27 +2167,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "Calibra adatbázis helye" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Használjon Google Drive-ot?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Google Drive hitelesítés" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre mappa" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Visszavonás" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2213,258 +2252,262 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Feltöltés engedélyezése" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Feltöltés engedélyezése" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Böngészés bejelentkezés nélkül engedélyezése" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Nyilvános regisztráció engedélyezése" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Távoli belépés engedélyezése (\"varázs-hivatkozás\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "API-kulcs beszerzése" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API-kulcs" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API titkos kód" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Külső futtatható fájlok" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Az Unrar futtatási állományának helye" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Felhasználó jelszavának alaphelyzetbe állítása" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/id/LC_MESSAGES/messages.mo b/cps/translations/id/LC_MESSAGES/messages.mo index 19a83560..cc8dcd93 100644 Binary files a/cps/translations/id/LC_MESSAGES/messages.mo and b/cps/translations/id/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/id/LC_MESSAGES/messages.po b/cps/translations/id/LC_MESSAGES/messages.po index be23dd39..26daadd0 100644 --- a/cps/translations/id/LC_MESSAGES/messages.po +++ b/cps/translations/id/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-01-21 10:00+0700\n" "Last-Translator: Arief Hidayat\n" "Language: id\n" @@ -45,8 +45,8 @@ msgstr "Perintah tidak diketahui" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Uji email diantrean untuk dikirim ke %(email), harap periksa Tasks untuk hasilnya" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Tidak diketahui" @@ -89,7 +89,7 @@ msgstr "Tampilkan semua" msgid "Malformed request" msgstr "Permintaan salah" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Nama Tamu tidak dapat diganti" @@ -97,7 +97,7 @@ msgstr "Nama Tamu tidak dapat diganti" msgid "Guest can't have this role" msgstr "Tamu tidak dapat memiliki peran ini" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Tidak ada pengguna admin yang tersisa, tidak dapat menghapus peran admin" @@ -129,7 +129,7 @@ msgstr "Tidak Ada Lokal yang Valid Diberikan" msgid "No Valid Book Language Given" msgstr "Tidak Ada Bahasa Buku yang Valid Diberikan" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter tidak ditemukan" @@ -141,7 +141,7 @@ msgstr "Kolom Baca Tidak Valid" msgid "Invalid Restricted Column" msgstr "Kolom Dibatasi Tidak Valid" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Pengaturan Calibre-Web telah diperbarui" @@ -288,11 +288,11 @@ msgstr "Edit Pengaturan Server Email" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Kesalahan basis data: %(error)s" @@ -331,7 +331,7 @@ msgstr "Durasi tidak valid untuk tugas yang ditentukan" msgid "Scheduled tasks settings updated" msgstr "Pengaturan tugas terjadwal diperbarui" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Terjadi kesalahan yang tidak diketahui. Coba lagi nanti." @@ -339,7 +339,7 @@ msgstr "Terjadi kesalahan yang tidak diketahui. Coba lagi nanti." msgid "Settings DB is not Writeable" msgstr "Pengaturan DB tidak dapat ditulisi" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Edit pengguna %(nick)s" @@ -448,65 +448,65 @@ msgstr "Lokasi Basis Data tidak Valid, Harap Masukkan Jalur yang Benar" msgid "DB is not Writeable" msgstr "Basis Data tidak dapat ditulisi" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi keyfile tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Sertifikat tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Pengaturan Basis Data diperbarui" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Pengaturan Basis Data" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Harap masukkan seluruh isian!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Email bukan dari domain yang valid" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Tambahkan pengguna baru" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Pengguna '%(user)s' telah dibuat" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Ditemukan akun yang ada untuk alamat email atau nama ini." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Pengguna '%(nick)s' telah dihapus" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Tidak dapat menghapus Pengguna Tamu" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Tidak ada pengguna admin tersisa, tidak dapat menghapus pengguna" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "Alamat email tidak boleh kosong dan harus berupa email yang valid" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Pengguna '%(nick)s' diperbarui" @@ -524,117 +524,117 @@ msgstr "Izin eksekusi hilang" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Kolom Kustom No.%(column)d tidak ada di basis data kaliber" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Tidak ada" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Ups! Judul buku yang dipilih tidak tersedia. Berkas tidak ada atau tidak dapat diakses" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Pengguna tidak berhak mengganti sampul" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata berhasil diperbarui" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Kesalahan pengeditan buku: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Berkas %(file)s telah diunggah" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Format sumber atau tujuan untuk konversi tidak ada" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Buku berhasil diantrekan untuk dikonversi ke %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Terjadi kesalahan saat mengonversi buku ini: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Buku yang diunggah mungkin ada di perpustakaan, pertimbangkan untuk mengubahnya sebelum mengunggah yang baru: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' bukan bahasa yang valid" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Ekstensi berkas '%(ext)s' tidak diizinkan untuk diunggah ke server ini" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Berkas yang akan diunggah harus memiliki ekstensi" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Berkas %(filename)s tidak dapat disimpan ke direktori temp" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Gagal Memindahkan Berkas Sampul %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Format Buku Berhasil Dihapus" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Buku Berhasil Dihapus" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Anda tidak memiliki izin untuk menghapus buku" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "edit metadata" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s dilewati karena bukan angka yang valid" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Pengguna tidak memiliki izin untuk mengunggah format berkas tambahan" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Gagal membuat jalur %(path)s (Izin ditolak)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Gagal menyimpan berkas %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format berkas %(ext)s ditambahkan ke %(book)s" @@ -647,179 +647,207 @@ msgstr "Pengaturan Google Drive belum selesai, coba nonaktifkan dan aktifkan kem msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Domain panggilan balik tidak diverifikasi, ikuti langkah-langkah untuk memverifikasi domain di konsol pengembang google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s format tidak ditemukan untuk id buku: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s tidak ditemukan di Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s tidak ditemukan: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Kirim ke E-Reader" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Email ini telah dikirim melalui Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Email tes Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Email tes" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Memulai dengan Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Email pendaftaran untuk pengguna: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Ubah %(orig)s menjadi %(format)s dan kirim ke E-Reader" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Kirim %(format)s ke E-Reader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%%(buku)s telah dikirim ke E-Reader" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Berkas yang diminta tidak dapat dibaca. Mungkin izinnya salah?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Status baca tidak bisa disetel: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Menghapus folder buku untuk buku %(id)s gagal, jalur memiliki subfolder: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Gagal menghapus buku %(id)s: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Menghapus buku %(id)s hanya dari basis data, jalur buku di basis data tidak valid: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Ganti nama pengarang dari: '%(src)s' menjadi '%(dest)s' gagal dengan kesalahan: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Berkas %(file)s tidak ditemukan di Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Ganti nama judul dari: '%(src)s' menjadi '%(dest)s' gagal dengan kesalahan: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Kesalahan dalam mengganti nama berkas di jalur: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Jalur buku %(path)s tidak ditemukan di Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Nama pengguna ini sudah digunakan" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Format alamat email tidak valid" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Modul 'advocate' Python tidak diinstal tetapi diperlukan untuk unggahan sampul" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Kesalahan Mengunduh Sampul" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Kesalahan Format Sampul" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Anda tidak diizinkan mengakses localhost atau jaringan lokal untuk unggahan sampul" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Gagal membuat jalur untuk sampul" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Berkas sampul bukan berkas gambar yang valid, atau tidak dapat disimpan" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Hanya berkas jpg/jpeg/png/webp/bmp yang didukung sebagai berkas sampul" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Konten berkas sampul tidak valid" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Hanya berkas jpg/jpeg yang didukung sebagai berkas sampul" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Berkas biner unrar tidak ditemukan" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Kesalahan saat menjalankan UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Sampul" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Berkas biner unrar tidak ditemukan" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Kesalahan saat menjalankan UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Basis Data tidak dapat ditulisi" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Izin eksekusi hilang" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Kesalahan saat menjalankan UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Antrian semua buku untuk cadangan metadata" @@ -1105,7 +1133,7 @@ msgstr "Terjadi kesalahan saat mencari kolom khusus, harap mulai ulang Calibre-W msgid "Advanced Search" msgstr "Penelusuran Lanjutan" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Rak yang ditentukan tidak valid" @@ -1118,98 +1146,103 @@ msgstr "Maaf Anda tidak diperbolehkan menambahkan buku ke rak: %(shelfname)s" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Buku sudah menjadi bagian dari rak: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Buku telah ditambahkan ke rak: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Anda tidak diperbolehkan menambahkan buku ke rak: %(name)s" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Buku sudah menjadi bagian dari rak: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Buku telah ditambahkan ke rak: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Tidak dapat menambahkan buku ke rak: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Buku telah dihapus dari rak: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Maaf Anda tidak diizinkan untuk menghapus buku dari rak ini: %(sname)s" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Buat Rak" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Maaf, Anda tidak diizinkan mengedit rak ini" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Edit Rak" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Kesalahan menghapus Rak" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Rak berhasil dihapus" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Ubah urutan Rak: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Maaf, Anda tidak diizinkan membuat rak publik" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Rak %(title)s dibuat" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Rak %(title)s diubah" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Ada kesalahan" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Rak publik dengan nama '%(title)s' sudah ada." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Rak pribadi dengan nama '%(title)s' sudah ada." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Rak: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Terjadi kesalahan saat membuka rak. Rak tidak ada atau tidak dapat diakses" @@ -1382,12 +1415,12 @@ msgstr "Alamat email Anda tidak diizinkan untuk mendaftar" msgid "Success! Confirmation Email has been sent." msgstr "E-mail konfirmasi telah dikirimkan ke alamat email Anda." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Tidak dapat mengaktifkan autentikasi LDAP." -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1413,7 +1446,7 @@ msgstr "Pengguna atau Kata Sandi salah" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Kata Sandi baru telah dikirimkan ke alamat email Anda" #: cps/web.py:1403 @@ -1449,46 +1482,46 @@ msgstr "Ditemukan akun yang ada untuk alamat email ini" msgid "Found no valid gmail.json file with OAuth information" msgstr "Tidak ditemukan berkas gmail.json yang valid dengan informasi OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%%(buku)s telah dikirim ke E-Reader" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s tidak ditemukan" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s format tidak ditemukan dalam disk" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Konverter ebook gagal dengan kesalahan yang tidak diketahui." -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kebupify-converter gagal: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Berkas yang telah dikonversi tidak ditemukan atau terdapat duplikat dalam folder %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ebook-converter gagal: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre gagal dengan kesalahan: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Konversi" @@ -1500,11 +1533,15 @@ msgstr "Menghubungkan kembali basis data Calibre" msgid "E-mail" msgstr "Email" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "Mencadangkan Metadata" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1665,7 +1702,7 @@ msgstr "Login Jarak Jauh dengan Magic Link" msgid "Reverse Proxy Login" msgstr "Login Reverse Proxy" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nama Header Reverse Proxy" @@ -1764,13 +1801,13 @@ msgid "Are you sure you want to restart?" msgstr "Apa Anda yakin untuk memulai ulang?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1955,8 +1992,8 @@ msgstr "Tampilkan Buku setelah Disimpan" msgid "Fetch Metadata" msgstr "Ambil Metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2120,27 +2157,31 @@ msgstr "Gabungkan" msgid "Location of Calibre Database" msgstr "Lokasi Database Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Gunakan Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentikasi Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Silakan tekan simpan untuk melanjutkan penyiapan" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID Saluran Metadata Watch" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Tarik Kembali" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Lokasi basis data baru tidak valid, harap masukkan jalur yang valid" @@ -2201,259 +2242,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Konversikan karakter non-Inggris dalam judul dan penulis saat menyimpan ke disk" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Izinkan Unggahan" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Harap pastikan pengguna juga memiliki hak mengunggah)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Format Berkas Unggahan yang Diizinkan" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Izinkan Penjelajahan Anonim" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Izinkan Registrasi Publik" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Gunakan Email sebagai Nama Pengguna" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Izinkan Login Jarak Jauh dengan Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Aktifkan sinkronisasi Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy permintaan tidak dikenal ke Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Port Eksternal Server (untuk panggilan API melalui port forward)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Gunakan Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Buat Kunci API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Kunci API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Izinkan Reverse Proxy Authentication" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipe Login" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Gunakan Otentikasi Standar" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Gunakan Otentikasi LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Gunakan Oauth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nama Host Server atau Alamat IP LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Port Server LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Enkripsi LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Jalur CACertificate LDAP (Hanya diperlukan untuk Autentikasi Sertifikat Klien)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Jalur Sertifikat LDAP (Hanya diperlukan untuk Otentikasi Sertifikat Klien)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Jalur Keyfile LDAP (Hanya diperlukan untuk Otentikasi Sertifikat Klien)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Otentikasi LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonim" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Tidak diautentikasi" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Sederhana" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nama Pengguna Administrator LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Kata Sandi Administrator LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Distinguished Name (DN) LDAP" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filter Objek Pengguna LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Server LDAP adalah OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Pengaturan Berikut Diperlukan Untuk Impor Pengguna" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filter Objek Grup LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nama Grup LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Bidang Group Members LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Deteksi Filter Pengguna Anggota LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Deteksi otomatis" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filter Kustom" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filter Pengguna Anggota LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Dapatkan %(provider)s Kredensial OAuth" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "ID Klien %(provider)s OAuth" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Client Secret %(provider)s OAuth" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Binari Eksternal" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Jalur ke Konverter E-Book Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Pengaturan Konverter E-Book Caliber" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Jalur ke Konverter E-Book Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Lokasi binari Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Pengaturan OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Atur ulang kata sandi pengguna" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo index ec2d16d5..06eb3de2 100644 Binary files a/cps/translations/it/LC_MESSAGES/messages.mo and b/cps/translations/it/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index 40f5ad5a..df963dbb 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/LC_MESSAGES/messages.po @@ -2,13 +2,13 @@ # Copyright (C) 2016 Smart Cities Community # This file is distributed under the same license as the Calibre-Web # Juan F. Villa , 2016. -# SPDX-FileCopyrightText: 2023 Massimo Pissarello +# SPDX-FileCopyrightText: 2023, 2024 Massimo Pissarello msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" -"PO-Revision-Date: 2023-10-21 15:27+0200\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" +"PO-Revision-Date: 2024-01-25 07:44+0100\n" "Last-Translator: Massimo Pissarello \n" "Language: it\n" "Language-Team: Italian <>\n" @@ -42,8 +42,8 @@ msgstr "Comando sconosciuto" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Tutto OK! Libri in coda per il backup dei metadati, controlla le attività per il risultato" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Sconosciuto" @@ -86,7 +86,7 @@ msgstr "Mostra tutto" msgid "Malformed request" msgstr "Richiesta non formulata correttamente" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Il nome dell'utente Guest (ospite) non può essere modificato" @@ -94,7 +94,7 @@ msgstr "Il nome dell'utente Guest (ospite) non può essere modificato" msgid "Guest can't have this role" msgstr "L'utente Guest (ospite) non può avere questo ruolo" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Non rimarrebbe nessun utente amministratore, non posso rimuovere il ruolo di amministratore" @@ -126,7 +126,7 @@ msgstr "Nessuna lingua valida indicata" msgid "No Valid Book Language Given" msgstr "Nessuna lingua valida per il libro" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parametro non trovato" @@ -138,7 +138,7 @@ msgstr "Colonna di lettura non valida" msgid "Invalid Restricted Column" msgstr "Colonna con restrizioni non valida" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "La configurazione di Calibre-Web è stata aggiornata" @@ -285,11 +285,11 @@ msgstr "Modifica le impostazioni del server e-mail" msgid "Success! Gmail Account Verified." msgstr "Tutto OK! Account Gmail verificato." -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Errore nel database: %(error)s." @@ -328,7 +328,7 @@ msgstr "Durata non valida per l'attività specificata" msgid "Scheduled tasks settings updated" msgstr "Impostazioni delle attività pianificate aggiornate" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Si è verificato un errore sconosciuto: per favore riprova." @@ -336,7 +336,7 @@ msgstr "Si è verificato un errore sconosciuto: per favore riprova." msgid "Settings DB is not Writeable" msgstr "Il DB delle impostazioni non è scrivibile" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Modifica l'utente %(nick)s" @@ -444,65 +444,65 @@ msgstr "La posizione del DB non è valida, per favore indica il percorso corrett msgid "DB is not Writeable" msgstr "Il DB non è scrivibile" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del Keyfile non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del Certfile non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "La lunghezza della password deve essere compresa tra 1 e 40" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Impostazioni database aggiornate" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Configurazione del database" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Per favore compila tutti i campi!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "L'e-mail non proviene da un dominio valido" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Aggiungi un nuovo utente" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "L'utente '%(user)s' è stato creato" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Trovato un account esistente con questa e-mail o nome utente" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "L'utente '%(nick)s' è stato eliminato" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Non posso eliminare l'utente Guest (ospite)" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "L'indirizzo e-mail non può essere vuoto e deve essere un recapito valido" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "L'utente '%(nick)s' è stato aggiornato" @@ -520,117 +520,117 @@ msgstr "Mancano i permessi di esecuzione" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "La colonna personalizzata no.%(column)d non esiste nel database di Calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Nessuna" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Il libro selezionato non è disponibile. Il file non esiste o non è accessibile" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "L'utente non ha i permessi per caricare le copertine" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Gli identificatori non fanno distinzione tra maiuscole e minuscole, sovrascrivendo il vecchio identificatore" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "I metadati sono stati aggiornati con successo" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Errore durante la modifica del libro: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Il file %(file)s è stato caricato" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 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:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Si è verificato un errore durante la conversione del libro: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Probabilmente il libro caricato esiste già nella libreria, cambialo prima di caricarlo nuovamente:" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non è una lingua valida" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Il formato del libro è stato eliminato con successo" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Il libro è stato eliminato con successo" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Mancano le autorizzazioni per eliminare i libri" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "modifica i metadati" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s non è un numero valido, lo salto" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "L'utente non ha i permessi per caricare formati di file aggiuntivi" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossibile creare il percorso %(path)s (autorizzazione negata)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Il salvataggio del file %(file)s non è riuscito." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Ho aggiunto il formato %(ext)s al libro %(book)s" @@ -643,173 +643,201 @@ msgstr "La configurazione di Google Drive non è stata completata correttamente. msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Il dominio di callback non è stato verificato. Per favore segui i passaggi per verificare il dominio nella console per sviluppatori di Google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s non trovato per il libro: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s non trovato su Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non trovato: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Invia all'eReader" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "Questa e-mail è stata inviata tramite Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "E-mail di prova di Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "E-mail di prova" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Inizia con Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "E-mail di registrazione per l'utente: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Converti %(orig)s in %(format)s e invia all'eReader" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, python-format msgid "Send %(format)s to eReader" msgstr "Invia %(format)s all'eReader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s inviato all'eReader" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Il file richiesto non può essere letto. I permessi sono corretti?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Impossibile impostare lo stato di lettura: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "L'eliminazione della cartella del libro %(id)s non è riuscita, il percorso ha delle sottocartelle: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "L'eliminazione del libro %(id)s non è riuscita: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminazione del libro %(id)s unicamente dal database. Il percorso del libro nel database non è valido: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "La modifica dell'autore da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "File %(file)s non trovato su Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "La modifica del titolo da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Errore nel rinominare il file nel percorso: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Percorso del libro %(path)s non trovato su Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "Trovato un account esistente per questo indirizzo e-mail" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Questo nome di utente è già utilizzato" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "Formato dell'indirizzo e-mail non valido" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "La password non è conforme alle regole di convalida della password" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Il modulo Python 'advocate' non è installato, ma è necessario per caricare le copertine" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Errore nello scaricare la copertina" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Errore nel formato della copertina" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Non sei autorizzato ad accedere a localhost o alla rete locale per caricare le copertine" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Errore nel creare il percorso per la copertina" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Il file della copertina non è in un formato immagine valido o non può essere salvato" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Solamente i file nei formati jpg/jpeg/png/webp/bmp sono supportati per le copertine" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Contenuto del file di copertina non valido" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Solamente i file nei formati jpg/jpeg sono supportati per le copertine" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Non ho trovato il file binario di UnRar" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "Errore nell'eseguire UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "Copertina" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Non ho trovato il file binario di UnRar" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "Errore nell'eseguire UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Il DB non è scrivibile" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Mancano i permessi di esecuzione" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Errore nell'eseguire UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Metti in coda tutti i libri per il backup dei metadati" @@ -1074,9 +1102,9 @@ msgid "Rating >= %(rating)s" msgstr "Valutazione >= %(rating)s" #: cps/search.py:221 -#, fuzzy, python-format +#, python-format msgid "Read Status = '%(status)s'" -msgstr "Stato di lettura = %(status)s" +msgstr "Stato di lettura = '%(status)s'" #: cps/search.py:324 msgid "Error on search for custom columns, please restart Calibre-Web" @@ -1086,7 +1114,7 @@ msgstr "Errore di ricerca nelle colonne personalizzate. Per favore riavvia Calib msgid "Advanced Search" msgstr "Ricerca avanzata" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Lo scaffale specificato non è valido" @@ -1099,98 +1127,103 @@ msgstr "Mi spiace, ma non sei autorizzato ad aggiungere libri a questo scaffale" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Il libro è gia presente nello scaffale: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Il libro è stato aggiunto allo scaffale: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Non sei autorizzato ad aggiungere libri allo scaffale" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "I libri sono già presenti nello scaffale: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "I libri sono stati aggiunti allo scaffale: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Non posso aggiungere libri allo scaffale: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Spiacente, ma non sei autorizzato a rimuovere libri da questo scaffale" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crea uno scaffale" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Spiacente, ma non sei autorizzato a modificare questo scaffale" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Modifica uno scaffale" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Errore nell'eliminare lo scaffale" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Lo scaffale è stato eliminato con successo" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Modifica l'ordine dello scaffale: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Spiacente, ma non sei autorizzato a creare scaffali pubblici" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Lo scaffale %(title)s è stato creato" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Lo scaffale %(title)s è stato modificato" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "C'è stato un errore" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Esiste già uno scaffale pubblico con il nome '%(title)s'." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Esiste già uno scaffale privato con il nome '%(title)s'." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Scaffale: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Errore durante l'apertura dello scaffale. Lo scaffale non esiste o non è accessibile" @@ -1237,7 +1270,7 @@ msgstr "Nessun aggiornamento disponibile. Hai già l'ultima versione installata" #: cps/updater.py:456 msgid "A new update is available. Click on the button below to update to the latest version." -msgstr "È disponibile un nuovo aggiornamento. Fare clic sul pulsante in basso per aggiornare all'ultima versione" +msgstr "È disponibile un nuovo aggiornamento. Fai clic sul pulsante in basso per aggiornare all'ultima versione" #: cps/updater.py:474 msgid "Could not fetch update information" @@ -1245,12 +1278,12 @@ msgstr "Impossibile recuperare le informazioni sull'aggiornamento" #: cps/updater.py:484 msgid "Click on the button below to update to the latest stable version." -msgstr "Fare clic sul pulsante in basso per eseguire l'aggiornamento all'ultima versione stabile." +msgstr "Fai clic sul pulsante in basso per eseguire l'aggiornamento all'ultima versione stabile." #: cps/updater.py:493 cps/updater.py:507 cps/updater.py:518 #, python-format msgid "A new update is available. Click on the button below to update to version: %(version)s" -msgstr "È disponibile un nuovo aggiornamento. Fare clic sul pulsante in basso per aggiornare alla versione:%(version)s" +msgstr "È disponibile un nuovo aggiornamento. Fai clic sul pulsante in basso per aggiornare alla versione:%(version)s" #: cps/updater.py:536 msgid "No release information available" @@ -1361,11 +1394,11 @@ msgstr "La tua e-mail non è consentita." msgid "Success! Confirmation Email has been sent." msgstr "Tutto OK! L'e-mail di conferma è stata inviata." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "Impossibile attivare l'autenticazione LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "Attendi un minuto prima dell'accesso successivo" @@ -1389,7 +1422,7 @@ msgid "Wrong Username or Password" msgstr "Nome utente o password errati" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "La nuova password è stata inviata al tuo indirizzo email" #: cps/web.py:1403 @@ -1422,46 +1455,46 @@ msgstr "Esiste già un account per questa e-mail." msgid "Found no valid gmail.json file with OAuth information" msgstr "Ho trovato un gmail.json file senza informazione OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s inviato all'E-Reader" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Non ho trovato il convertitore %(tool)s di libri di Calibre" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Non ho trovato il formato %(format)s nel disco" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "La conversione del libro è terminata con un errore sconosciuto" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Si è verificato un errore con il convertitore Kepubify: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Non ho trovato il file convertito o c'è più di un file nella cartella %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Errore nel convertitore: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Si è verificato un errore con Calibre: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Convertire" @@ -1473,10 +1506,14 @@ msgstr "Riconessione al database di Calibre" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "Backup dei metadati" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1636,7 +1673,7 @@ msgstr "Accesso remoto con Magic Link" msgid "Reverse Proxy Login" msgstr "Accesso reverse proxy" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nome dell'intestazione reverse proxy" @@ -1735,13 +1772,13 @@ msgid "Are you sure you want to restart?" msgstr "Vuoi veramente riavviare Calibre-Web?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1926,8 +1963,8 @@ msgstr "Visualizza il libro dopo averlo salvato" msgid "Fetch Metadata" msgstr "Recupera i metadati" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2091,27 +2128,31 @@ msgstr "Unisci" msgid "Location of Calibre Database" msgstr "Posizione del database di Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Usa Google Drive" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autenticazione Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Cartella di Calibre in Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID del canale di visualizzazione dei metadati" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Revoca" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "La nuova posizione del database non è valida, inserisci un percorso valido" @@ -2172,257 +2213,262 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Converti caratteri non inglesi del titolo e dell'autore durante il salvataggio su disco" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Abilita il caricamento" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(per favore assicurati che gli utenti abbiano anche i permessi per caricare i file)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formati di file autorizzati ad essere caricati" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Abilita la navigazione anonima" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Abilita la registrazione pubblica" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Usa l'e-mail come nome utente" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Abilita l'accesso remoto con Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Abilita la sincronizzazione Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Inoltra le richieste sconosciute al Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Porta esterna del server (per chiamate API alle porte inoltrate)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Usa Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Crea una chiave API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Chiave API di Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "API segreta di Goodreads" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Consenti autenticazione con reverse proxy" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipo di accesso" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Usa l'autenticazione standard" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Usa l'autenticazione LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Usa OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nome host o indirizzo IP del server LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Porta del server LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Crittografia LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Percorso del CACertificate LDAP (necessario unicamente in caso di Client Certificate Authentication)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Percorso del certificato LDAP (necessario unicamente in caso di Client Certificate Authentication)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Percorso della chiave LDAP (necessario unicamente in caso di Client Certificate Authentication)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Autenticazione LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonimo" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Non autenticato" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Semplice" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nome utente amministratore LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Password amministratore LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Object Filter utente LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Il server LDAP è OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Le seguenti impostazioni sono necessarie per l'importazione degli utenti" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Object Filter gruppo LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nome gruppo LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Campo membri del gruppo LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Rilevamento filtro utente membro LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Trova automaticamente" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtro personalizzato" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtro utente membro LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Ottieni le credenziali OAuth di %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s ID client OAuth" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Secret client OAuth %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "File binari esterni" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Percorso del convertitore di libri di Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Impostazioni del convertitore di libri di Calibre" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Percorso del convertitore di libri Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Percorso del file binario di UnRar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "Impostazioni sicurezza" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "Limita i tentativi di accesso falliti" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "Protezione sessione" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "Di base" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "Forte" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "Politica password utente" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "Lunghezza minima password" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "Obbliga numero" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "Obbliga caratteri minuscoli" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "Obbliga caratteri maiuscoli" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "Obbliga caratteri speciali" @@ -3180,11 +3226,11 @@ msgstr "Data di pubblicazione fino al" #: cps/templates/search_form.html:44 msgid "Any" -msgstr "" +msgstr "Qualsiasi" #: cps/templates/search_form.html:45 msgid "Empty" -msgstr "" +msgstr "Vuoto" #: cps/templates/search_form.html:60 msgid "Exclude Tags" diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index d9a36d6a..86d39127 100644 Binary files a/cps/translations/ja/LC_MESSAGES/messages.mo and b/cps/translations/ja/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 51634bdc..3368b9cb 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: subdiox \n" "Language: ja\n" @@ -45,8 +45,8 @@ msgstr "不明なコマンド" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "不明" @@ -89,7 +89,7 @@ msgstr "全て表示" msgid "Malformed request" msgstr "不正なリクエスト" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "ゲストユーザーの名前は変更できません" @@ -97,7 +97,7 @@ msgstr "ゲストユーザーの名前は変更できません" msgid "Guest can't have this role" msgstr "ゲストユーザーはこのロールを持つことができません" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "管理者ユーザーが残っておらず、管理者ロールを削除できません" @@ -129,7 +129,7 @@ msgstr "有効な言語設定がありません" msgid "No Valid Book Language Given" msgstr "有効な本の言語がありません" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "パラメータが見つかりません" @@ -141,7 +141,7 @@ msgstr "無効な読み取り列" msgid "Invalid Restricted Column" msgstr "無効な制限列" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Webの設定を更新しました" @@ -288,11 +288,11 @@ msgstr "メールサーバー設定を編集" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "DBエラー: %(error)s" @@ -331,7 +331,7 @@ msgstr "指定したタスクの期間が無効です" msgid "Scheduled tasks settings updated" msgstr "スケジュールタスクの設定を更新しました" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "不明なエラーが発生しました。あとで再試行してください。" @@ -339,7 +339,7 @@ msgstr "不明なエラーが発生しました。あとで再試行してくだ msgid "Settings DB is not Writeable" msgstr "設定DBが書き込みできません" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "ユーザー %(nick)s を編集" @@ -448,65 +448,65 @@ msgstr "DBの場所が無効です。正しいパスを入力してください" msgid "DB is not Writeable" msgstr "DBへの書き込みができません" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "キーファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "証明書ファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "DB設定を更新しました" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "DB設定" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "全ての項目を入力してください" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "このメールは有効なドメインからのものではありません" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "新規ユーザー追加" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "ユーザー '%(user)s' を作成しました" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "このメールアドレスかニックネームで登録されたアカウントがすでに存在します。" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "ユーザー '%(nick)s' を削除しました" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "ゲストユーザーは削除できません" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "管理者ユーザーが残っておらず、ユーザーを削除できません" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "ユーザー '%(nick)s' を更新しました" @@ -524,117 +524,117 @@ msgstr "実行権限がありません" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "カスタムカラムの%(column)d列目がcalibreのDBに存在しません" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "なし" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "選択した本は利用できません。ファイルが存在しないか、アクセスできません" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "ユーザーは表紙をアップロードする権限がありません" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "メタデータを更新しました" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "本編集中のエラー: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "ファイル %(file)s をアップロードしました" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "変換元の形式または変換後の形式が指定されていません" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "本の %(book_format)s への変換がキューに追加されました" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "この本の変換中にエラーが発生しました: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "アップロードした本はすでにライブラリに存在します。新しくアップロードする前に変更を加えてください: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' は有効な言語ではありません" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "アップロードするファイルには拡張子が必要です" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "ファイル %(filename)s は一時フォルダに保存できませんでした" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "表紙ファイル %(file)s の移動に失敗しました: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "本の形式を削除しました" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "本を削除しました" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "本を削除する権限がありません" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "メタデータを編集" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s は有効な数字ではありません。スキップします" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "新たなファイル形式をアップロードする権限がありません" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s の作成に失敗しました (Permission denied)。" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "ファイル %(file)s を保存できません。" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ファイル形式 %(ext)s が %(book)s に追加されました" @@ -647,179 +647,207 @@ msgstr "Googleドライブの設定が完了していません。Googleドライ msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "コールバックドメインが認証されていません。Google Developer Consoleでドメインを認証してください" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "ID: %(book)d の本に %(format)s フォーマットはありません" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Googleドライブ: %(fn)s に %(format)s はありません" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s がありません: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "E-Readerに送信" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "このメールはCalibre-Web経由で送信されました。" -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web テストメール" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "テストメール" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Calibre-Webを始める" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "ユーザー: %(name)s 用の登録メール" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s を %(format)s に変換してからE-Readerに送信" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "E-Readerに %(format)s を送信" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s をE-Readerに送信" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "要求されたファイルを読み込めませんでした。権限設定が正しいか確認してください。" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "読み込みステータスを設定できません: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "%(id)s の本フォルダの削除に失敗しました。そこにはサブフォルダがあります: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "本 %(id)s の削除に失敗しました: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "本 %(id)s はDBのみから削除されます。DB内の本のパスが有効ではありません: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "エラー: %(error)s により、著者名を %(src)s から %(dest)s に変更できませんでした" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ファイル %(file)s はGoogleドライブ上にありません" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "ファイル名の変更でエラーが発生しました: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "本のパス %(path)s はGoogleドライブ上にありません" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "このユーザー名はすでに使われています" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "メールアドレスの形式が無効" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "表紙のアップロードに必要なPythonモジュール 'advocate' がインストールされていません" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "表紙のダウンロードに失敗しました" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "表紙形式エラー" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "表紙アップロードのためにlocalhostやローカルネットワークにアクセスすることは許可されていません" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "表紙ファイルの作成に失敗しました" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "表紙ファイルが有効な画像ファイルでないか、または保存できませんでした" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg/png/webp/bmp のみ対応しています" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "表紙ファイルの内容が無効です" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg のみ対応しています" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrarのバイナリファイルが見つかりません" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Unrarの実行中にエラーが発生しました" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "見つける" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrarのバイナリファイルが見つかりません" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Unrarの実行中にエラーが発生しました" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "DBへの書き込みができません" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "実行権限がありません" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Unrarの実行中にエラーが発生しました" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1105,7 +1133,7 @@ msgstr "カスタムカラムの検索でエラーが発生しました。Calibr msgid "Advanced Search" msgstr "詳細検索" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "指定された本棚は無効です" @@ -1118,98 +1146,103 @@ msgstr "申し訳ありませんが、あなたはこの本棚に本を追加す msgid "Book is already part of the shelf: %(shelfname)s" msgstr "この本は %(shelfname)s にすでに追加されています" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "本を %(sname)s に追加しました" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "あなたはこの本棚に本を追加することが許可されていません" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "これらの本は %(name)s にすでに追加されています" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "本が %(sname)s に追加されました" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "%(sname)s に本を追加できません" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "本が %(sname)s から削除されました" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "申し訳ありませんが、あなたはこの本棚から本を削除することが許可されていません" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "本棚を作成する" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "申し訳ありませんが、あなたはこの本棚を編集することが許可されていません" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "本棚を編集する" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "本棚の削除中にエラーが発生しました" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "本棚を削除しました" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "'%(name)s' 内の本の順番を変更する" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "申し訳ありませんが、あなたはみんなの本棚を作成することが許可されていません" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s を作成しました" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s を変更しました" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "エラーが発生しました" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "'%(title)s' という名前のみんなの本棚はすでに存在します。" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "'%(title)s' という名前の本棚はすでに存在します。" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "本棚: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "本棚を開けません。この本棚は存在しないかアクセスできません" @@ -1382,12 +1415,12 @@ msgstr "このメールアドレスは登録が許可されていません" msgid "Success! Confirmation Email has been sent." msgstr "確認メールがこのメールアドレスに送信されました。" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "LDAP認証を有効化できません" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1413,7 +1446,7 @@ msgstr "ユーザー名またはパスワードが違います" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "新しいパスワードがあなたのメールアドレスに送信されました" #: cps/web.py:1403 @@ -1449,46 +1482,46 @@ msgstr "このメールアドレスで登録されたアカウントがすでに msgid "Found no valid gmail.json file with OAuth information" msgstr "OAuth情報を含んだ有効なgmail.jsonファイルが見つかりません" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s をE-Readerに送信" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s が見つかりません" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s 形式は存在しません" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Ebook converter が不明なエラーで失敗しました" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter が失敗しました: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "変換されたファイルが見つからないか、またはフォルダー %(folder)s 内に複数存在します" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ebook-converter が失敗しました: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre が失敗しました: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "変換" @@ -1500,11 +1533,15 @@ msgstr "Calibre DBと再接続中" msgid "E-mail" msgstr "メール" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "メタデータを編集" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1665,7 +1702,7 @@ msgstr "マジックリンクによるリモートログイン" msgid "Reverse Proxy Login" msgstr "リバースプロキシによるログイン" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "リバースプロキシのヘッダー名" @@ -1764,13 +1801,13 @@ msgid "Are you sure you want to restart?" msgstr "再起動してもよろしいですか?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1955,8 +1992,8 @@ msgstr "保存後に本を表示" msgid "Fetch Metadata" msgstr "メタデータを取得" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2120,27 +2157,31 @@ msgstr "統合" msgid "Location of Calibre Database" msgstr "Calibre DBの場所" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Googleドライブを利用しますか?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Googleドライブを認証" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Googleドライブ上のCalibreフォルダ" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "メタデータ監視用チャンネルID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "取り消す" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "入力したDBの場所が無効です。有効なパスを入力してください" @@ -2201,259 +2242,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "ダウンロード時にタイトルと著者名の中にある2バイト文字を変換する" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "アップロード機能を有効にする" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(ユーザーにアップロード権限を与えることも忘れないでください)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "アップロードを許可するファイル形式" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "匿名での閲覧を許可" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "誰でも登録可能にする" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "メールアドレスをユーザー名として使う" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "マジックリンクによるリモートログインを有効にする" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Koboの同期を有効にする" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Koboストアへの不明なリクエストをプロキシ" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "サーバーの外部ポート番号 (APIの呼び出しをポートフォワーディングするため)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Goodreadsを利用" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "APIキーを作成" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "GoodreadsのAPIキー" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "GoodreadsのAPIシークレット" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "リバースプロキシの認証を許可" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "ログインの種類" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "通常の認証を利用" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "LDAP認証を利用" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "OAuthを利用" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAPサーバーのホスト名またはIPアドレス" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAPサーバーのポート番号" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAPの暗号化方式" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAPのCA証明書のパス (クライアント証明書による認証の場合のみ必要)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP証明書のパス (クライアント証明書による認証の場合のみ必要)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAPのキーファイルのパス (クライアント証明書による認証の場合のみ必要)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP認証" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "匿名" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "認証失敗" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "簡単" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP管理者のユーザー名" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP管理者のパスワード" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAPの識別名 (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAPユーザーフィルタ" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAPサーバーはOpenLDAPですか?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "以下の設定はユーザーのインポートのために必要です" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAPグループフィルタ" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAPグループ名" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAPグループメンバーフィールド" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAPメンバーユーザーフィルタ検出" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "自動検出" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "カスタムフィルタ" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAPメンバーユーザーフィルタ" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "%(provider)s OAuth 認証情報を入手" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth クライアントID" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth クライアントシークレット" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "外部バイナリ" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Calibre E-Book Converterのパス" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre E-Book Converterの設定" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Kepubify E-Book Converterのパス" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrarバイナリのパス" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth設定" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "パスワードをリセット" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo index 31c1b417..355f43df 100644 Binary files a/cps/translations/km/LC_MESSAGES/messages.mo and b/cps/translations/km/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index 6eac2f85..a0a46ff4 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -46,8 +46,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(eReadermail)s ដោយជោគជ័យ" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "មិនដឹង" @@ -91,7 +91,7 @@ msgstr "បង្ហាញទាំងអស់" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -99,7 +99,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -131,7 +131,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -143,7 +143,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "" @@ -294,11 +294,11 @@ msgstr "ប្តូរការកំណត់ SMTP" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -337,7 +337,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" @@ -345,7 +345,7 @@ msgstr "" msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" @@ -454,67 +454,67 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "ការកំណត់មុខងារ" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "សូមបំពេញចន្លោះទាំងអស់!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ" @@ -532,117 +532,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "គ្មាន" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s" @@ -655,175 +655,201 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Callback domain មិនទាន់បានផ្ទៀងផ្ទាត់ឲប្រើទេ សូមធ្វើតាមជំហានដើម្បីផ្ទៀងផ្ទាត់ domain នៅក្នុង Google Developer Console" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "ឯកសារដែលបានស្នើសុំមិនអាចបើកបានទេ។ អាចនឹងខុសសិទ្ធិប្រើប្រាស់ទេដឹង?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "ស្រាវជ្រាវ" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1109,7 +1135,7 @@ msgstr "" msgid "Advanced Search" msgstr "ស្វែងរកកម្រិតខ្ពស់" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "" @@ -1123,99 +1149,104 @@ msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "សៀវភៅត្រូវបានបន្ថែមទៅធ្នើ៖ %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ៖ %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "បង្កើតធ្នើ" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "កែប្រែធ្នើ" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "ប្តូរលំដាប់ធ្នើ៖ ‘%(name)s’" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានបង្កើត" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានប្តូរ" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "មានបញ្ហា" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "ធ្នើ៖ ‘%(name)s’" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "មានបញ្ហាពេលបើកធ្នើ។ ពុំមានធ្នើ ឬមិនអាចបើកបាន" @@ -1387,11 +1418,11 @@ msgstr "" msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1416,7 +1447,7 @@ msgid "Wrong Username or Password" msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "" #: cps/web.py:1403 @@ -1451,46 +1482,46 @@ msgstr "" msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "ផ្ញើទៅ Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ebook-converter បានបរាជ័យ៖ %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1502,11 +1533,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "កែប្រែទិន្នន័យមេតា" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1667,7 +1702,7 @@ msgstr "ការចូលប្រើប្រាស់ពីចម្ងាយ msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1767,13 +1802,13 @@ msgid "Are you sure you want to restart?" msgstr "" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "បាទ/ចាស" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1958,8 +1993,8 @@ msgstr "មើលសៀវភៅក្រោយពីកែប្រែ" msgid "Fetch Metadata" msgstr "មើលទិន្នន័យមេតា" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2125,27 +2160,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "ទីតាំង database របស់ Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "ប្រើ Google Drive ឬ?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "វាយបញ្ចូលគណនី Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Folder របស់ Google Drive Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "ដកសិទ្ធិ" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2206,257 +2245,261 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "អនុញ្ញាតការរុករកដោយអនាមិក" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "អនុញ្ញាតការចុះឈ្មោះសាធារណៈ" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "អនុញ្ញាតការ login ពីចម្ងាយ (ឬ “magic link”)" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "ទាញយក API key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/ko/LC_MESSAGES/messages.mo b/cps/translations/ko/LC_MESSAGES/messages.mo index fc4abeb7..e16513f4 100644 Binary files a/cps/translations/ko/LC_MESSAGES/messages.mo and b/cps/translations/ko/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ko/LC_MESSAGES/messages.po b/cps/translations/ko/LC_MESSAGES/messages.po index ac395626..075f41ea 100644 --- a/cps/translations/ko/LC_MESSAGES/messages.po +++ b/cps/translations/ko/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2022-01-10 11:30+0900\n" "Last-Translator: 내맘대로의 EPUBGUIDE.NET \n" "Language: ko\n" @@ -44,8 +44,8 @@ msgstr "알 수 없는 명령" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "%(email)s에 테스트를 위한 이메일을 보냄. 결과 확인 필요" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "알 수 없음" @@ -88,7 +88,7 @@ msgstr "모두 보기" msgid "Malformed request" msgstr "잘못된 요청" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Guest 이름은 수정할 수 없음" @@ -96,7 +96,7 @@ msgstr "Guest 이름은 수정할 수 없음" msgid "Guest can't have this role" msgstr "Guest는 이 권한을 사용할 수 없음" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "관리자 계정이 하나 뿐일 때는 관리자를 삭제할 수 없음" @@ -128,7 +128,7 @@ msgstr "유효한 로케일이 아님" msgid "No Valid Book Language Given" msgstr "제공된 책의 언어가 유효하지 않음" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "매개변수를 찾을 수 없음" @@ -140,7 +140,7 @@ msgstr "잘못된 읽기 열" msgid "Invalid Restricted Column" msgstr "잘못된 제한된 열" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 설정이 업데이트 됨" @@ -287,11 +287,11 @@ msgstr "이메일 서버 설정 편집" msgid "Success! Gmail Account Verified." msgstr "Gmail 계정 인증에 성공하였습니다." -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "데이터베이스 오류: %(error)s." @@ -330,7 +330,7 @@ msgstr "지정된 작업의 기간이 잘못 설정되었습니다." msgid "Scheduled tasks settings updated" msgstr "예약된 작업 설정을 업데이트 하였습니다." -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "알 수없는 오류가 발생했습니다. 나중에 다시 시도 해주십시오." @@ -338,7 +338,7 @@ msgstr "알 수없는 오류가 발생했습니다. 나중에 다시 시도 해 msgid "Settings DB is not Writeable" msgstr "저장할 수 없는 설정 DB입니다." -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "사용자 %(nick)s 편집" @@ -447,65 +447,65 @@ msgstr "올바르지 않은 DB 위치. 올바른 경로 입력 필요" msgid "DB is not Writeable" msgstr "쓰기 권한이 없는 DB" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "올바르지 않은 키 파일 위치. 올바른 경로 입력 필요" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "올바르지 않은 인증서 파일 위치. 올바른 경로 입력 필요" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "비밀번호 길이는 1에서 40 사이여야 합니다." -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "데이터베이스 설정이 업데이트 되었습니다" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "데이터베이스 구성" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "모든 필드를 채워주십시오!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "유효한 도메인에서 온 이메일이 아니" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "새 사용자 추가" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "사용자 '%(user)s'이(가) 생성됨" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "동일한 이메일 주소 또는 이름이 이미 등록되어 있습니다." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "사용자 '%(nick)s'이(가) 삭제됨" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "게스트 사용자는 삭제할 수 없습니다" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "관리자 계정이 하나 뿐일 때는 관리자 권한을 삭제할 수 없음" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "이메일은 반드시 입력해야 하며 유효한 이메일이어야 합니다." -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "사용자 '%(nick)s'가 업데이트 됨" @@ -523,117 +523,117 @@ msgstr "실행 권한 누락" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "사용자 정의 열 번호 %(column)d이(가) calibre 데이터베이스에 없습니다" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "None" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "선택한 책 제목을 사용할 수 없습니다. 파일이 존재하지 않거나 액세스할 수 없습니다" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "표지를 업로드 할 수 있는 권한이 없는 사용자입니다." -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "식별자는 대소문자를 구분하지 않으며 이전 식별자를 덮어씁니다" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "메타데이터가 성공적으로 업데이트되었습니다" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "책 편집 중 오류 발생: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "파일 %(file)s 업로드됨" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "변환을 위한 소스 또는 대상 형식이 누락되었습니다" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "책이 %(book_format)s(으)로 변환하기 위해 대기 중입니다" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "이 책을 변환하는 동안 오류가 발생했습니다: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "업로드한 책이 라이브러리에 있을 수 있음. 새로 업로드하기 전에 확인 필요: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s'은(는) 유효한 언어가 아닙니다" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "파일 확장자 '%(ext)s'은(는) 이 서버에 업로드할 수 없습니다" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "업로드할 파일에는 확장자가 있어야 합니다" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "파일 %(filename)s을(를) 임시 디렉토리에 저장할 수 없습니다" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "표지 파일%(file)s를 이동하지 못했습니다.:%(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "책 형식이 성공적으로 삭제되었습니다" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "책이 성공적으로 삭제되었습니다" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "책을 삭제할 수 있는 권한이 없습니다." -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "메타데이터 편집" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s은(는) 유효한 숫자가 아닙니다. 건너뜁니다" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "추가 파일 유형을 업로드 할 권한이 없는 사용자입니다." -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s 경로를 생성하지 못했습니다(권한이 없음)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s 파일을 저장하지 못했습니다." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "파일 형식 %(ext)s이(가) %(book)s에 추가되었습니다" @@ -646,180 +646,208 @@ msgstr "Google 드라이브 설정이 완료되지 않았습니다. Google 드 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "콜백 도메인이 확인되지 않았습니다. 단계에 따라 Google 개발자 콘솔에서 도메인을 확인하세요" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "책 ID에 대한 %(format)s 형식을 찾을 수 없음: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s을(를) Google 드라이브에서 찾을 수 없음: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s을(를) 찾을 수 없음: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "킨들로 보내기" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "이 이메일은 Calibre Web을 통해 전송되었습니다." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web 테스트 이메일" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "테스트 이메일" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Calibre-Web 시작하기" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "사용자 등록 이메일: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s를 %(format)s로 변환하고 킨들로 보내기" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "킨들에 %(format)s 보내기" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s을 킨들로 보내기" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "요청한 파일을 읽을 수 없습니다. 올바른 권한인가요?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "읽기 상태를 설정할 수 없음: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "책 %(id)s에 대한 책 폴더를 삭제하지 못했습니다. 경로에 하위 폴더가 있습니다: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "%(id)s 도서 삭제 실패: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "데이터베이스에서만 책 %(id)s 을(를) 삭제 중, 데이터베이스의 책 경로가 유효하지 않음: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "제목 이름을 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다. 오류: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google 드라이브에서 %(file)s 파일을 찾을 수 없습니다" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "제목 이름을 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다. 오류: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "경로에서 파일 이름을 바꾸는 중 오류가 발생: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google 드라이브에서 책 경로 %(path)s을(를) 찾을 수 없습니다" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "다른 계정에서 사용하고 있는 이메일 주소입니다." -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "등록되어 있는 username입니다" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "이메일 주소 형식이 잘못되었습니다" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "규칙에 어긋나는 비밀번호입니다." -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "표지 업로드에 필요한 Python 모듈 'advocate'이 설치되지 않았습니다." -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "표지 다운로드 중 오류 발생" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "표지 형식 오류" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "표지 업로드를 위해 localhost 또는 로컬 네트워크에 액세스할 수 없습니다." -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "표지 경로 생성 실패" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "표지 파일이 유효한 이미지 파일이 아니거나 저장할 수 없습니다" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "표지는 jpg/jpeg/png/webp/bmp 파일만 지원됩니다" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "잘못된 표지 파일 콘텐츠" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "표지 파일로 jpg/jpeg 파일만 지원됩니다" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrar 바이너리 파일을 찾을 수 없습니다" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "UnRar 실행 오류" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "발견" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrar 바이너리 파일을 찾을 수 없습니다" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "UnRar 실행 오류" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "쓰기 권한이 없는 DB" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "실행 권한 누락" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "UnRar 실행 오류" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "메타데이터 백업을 위해 모든 도서를 대기열에 추가" @@ -1106,7 +1134,7 @@ msgstr "사용자 정의 열을 검색하는 동안 오류가 발생했습니다 msgid "Advanced Search" msgstr "상세 검색" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "잘못된 책장 지정" @@ -1119,99 +1147,104 @@ msgstr "죄송합니다. 해당 책장에 책을 추가할 권한이 없습니 msgid "Book is already part of the shelf: %(shelfname)s" msgstr "책이 이미 책장에 등록됨: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "책장에 책이 등록됨: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "책장에 책을 추가할 권한이 없습니다" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "책장에 이미 책이 등록됨: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "책이 책장에 등록됨: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "책장에 책을 추가할 수 없음: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "책이 책장에서 삭제됨: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "죄송합니다. 이 서가에서 책을 삭제할 권한이 없습니다" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "책장 추가" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "죄송합니다. 이 책장을 편집할 권한이 없습니다" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "책장 편집" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "서제를 삭제하는 동안 오류 발생" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "책이 성공적으로 삭제되었습니다" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "책장 순서 변경: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "죄송합니다. 이 공개 책장을 만들 권한이 없습니다" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s 책장이 추가됨" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s 책장이 변경됨" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "오류가 발생하였습니다" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "이름이 '%(title)s'인 공개 책장이 이미 있습니다." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "이름이 '%(title)s'인 개인 책장이 이미 있습니다." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "책장: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "책장을 여는 동안 오류가 발생했습니다. 책장이 존재하지 않거나 접근할 수 없습니다" @@ -1384,12 +1417,12 @@ msgstr "이메일을 등록할 수 없습니다" msgid "Success! Confirmation Email has been sent." msgstr "확인을 위한 이메일이 발송되었습니다." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "LDAP 인증을 활성화할 수 없습니다" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "1분 이상 지난 후 로그인을 하세요." @@ -1415,7 +1448,7 @@ msgstr "잘못된 사용자명 또는 비밀번호" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "새 비밀번호가 이메일로 전송되었습니다" #: cps/web.py:1403 @@ -1451,46 +1484,46 @@ msgstr "등록되어 있는 이메일 주소입니다" msgid "Found no valid gmail.json file with OAuth information" msgstr "인증 정보가 포함된 유효한 gmail.json 파일을 찾을 수 없습니다" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s을 킨들로 보내기" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s을(를) 찾을 수 없습니다" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s 형식을 찾을 수 없습니다" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "알 수 없는 오류로 인해 전자책 변환이 실패했습니다" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 변환 실패: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "변환된 파일을 찾을 수 없거나 %(folder)s 폴더에 하나 이상의 파일이 존재합니다" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "\"전자책 변환 실패: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "오류로 인한 Calibre 실패: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "변환" @@ -1502,11 +1535,15 @@ msgstr "Calibre DB를 다시 연결합니다." msgid "E-mail" msgstr "이메일일" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "메타데이터 편집" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1668,7 +1705,7 @@ msgstr "Magic Link Remote Login" msgid "Reverse Proxy Login" msgstr "Reverse Proxy Login" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Reverse Proxy Header Name" @@ -1767,13 +1804,13 @@ msgid "Are you sure you want to restart?" msgstr "재시작을 하시겠습니까?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "예" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1958,8 +1995,8 @@ msgstr "저장 후 책 보기" msgid "Fetch Metadata" msgstr "메타정보 가져오기" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2123,27 +2160,31 @@ msgstr "병합" msgid "Location of Calibre Database" msgstr "Calibre Database 위치" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Google 드라이브를 사용하시겠습니까?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "구글 드라이브 인증" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "구글 드라이브 Calibre 폴더" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "취소" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "잘못된 새 DB 위치. 올바른 경로 입력 필요" @@ -2204,259 +2245,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "제목과 저자가 영어가 아닌 경우 원어로 저장하기" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "업로드 활성화" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(사용자에게 업로드 권한도 있는지 확인하십시오)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "허용된 업로드 파일 형식" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "익명 탐색 활성화" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "공개 등록 활성화" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "이메일을 사용자 이름으로 사용" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Enable Magic Link Remote Login" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Kobo sync 활성화" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Kobo Store에 알 수 없는 요청 프록시" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "서버 외부 포트(포트 전달 API 호출용)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Goodreads 사용" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "API 키 생성" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "역방향 프록시 인증 허용" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "로그인 유형" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "표준 인증 사용" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "LDAP 인증 사용" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "OAuth 사용" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP 서버 호스트 이름 또는 IP 주소" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP 서버 포트" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP 암호화" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CACertificate 경로(클라이언트 인증서 인증에만 필요)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP 인증서 경로(클라이언트 인증서 인증에만 필요)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP 키 파일 경로(클라이언트 인증서 인증에만 필요)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP 인증" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "익명" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "인증되지 않음" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simple" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP 관리자 사용자 이름" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP 관리자 비밀번호" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP 고유 이름(DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP 사용자 개체 필터" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP 서버는 OpenLDAP입니까?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "사용자 가져오기에는 다음 설정이 필요" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP 그룹 개체 필터" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "DAP 그룹 이름" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP 그룹 구성원 필드" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP 구성원 사용자 필터 감지" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "자동 감지" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "맞춤 필터" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP 구성원 사용자 필터" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "%(provider)s OAuth 자격 증명 얻기" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth 클라이언트 ID" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth 클라이언트 암호" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "외부 바이너리" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Calibre E-Book 변환기 경로" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre E-Book 변환기 경로 설정" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Kepubify 전자책 변환기 경로" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrar 바이너리의 위치" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth 설정" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "로그인 시도 제한" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "세션 보호" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "기본" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "강함함" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "사용자 비밀번호 정책" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "최소 비밀번호 길이" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "반드시 숫자 입력" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "반드시 소문자 입력" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "반드시 대문자 입력" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "반드시 특수문자 입력력" diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo index 745a4124..0337ffb2 100644 Binary files a/cps/translations/nl/LC_MESSAGES/messages.mo and b/cps/translations/nl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index 5f9907ee..3b12e5a7 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-12-20 22:00+0100\n" "Last-Translator: Michiel Cornelissen \n" "Language: nl\n" @@ -46,8 +46,8 @@ msgstr "Onbekende opdracht" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Test E-Mail wordt verzonden naar %(email)s, controleer de taken voor het resultaat" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Onbekend" @@ -91,7 +91,7 @@ msgstr "Alle talen" msgid "Malformed request" msgstr "Misvormd verzoek" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Gast naam kan niet worden veranderd" @@ -99,7 +99,7 @@ msgstr "Gast naam kan niet worden veranderd" msgid "Guest can't have this role" msgstr "Gast kan deze rol niet hebben" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder" @@ -131,7 +131,7 @@ msgstr "Geen geldige locale is opgegeven" msgid "No Valid Book Language Given" msgstr "Geen geldige boek taal is opgegeven" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter is niet gevonden" @@ -143,7 +143,7 @@ msgstr "Ongeldige gelezen kolom" msgid "Invalid Restricted Column" msgstr "Ongeldige beperkte kolom" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-configuratie bijgewerkt" @@ -294,11 +294,11 @@ msgstr "SMTP-instellingen bewerken" msgid "Success! Gmail Account Verified." msgstr "Gelukt! Gmail account geverifieerd." -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Database fout: %(error)s." @@ -337,7 +337,7 @@ msgstr "De duur van de taak is ongeldig" msgid "Scheduled tasks settings updated" msgstr "Instellingen van geplande taken bijgewerkt" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Onbekende fout opgetreden. Probeer het later nog eens." @@ -345,7 +345,7 @@ msgstr "Onbekende fout opgetreden. Probeer het later nog eens." msgid "Settings DB is not Writeable" msgstr "Instellingen database is niet schrijfbaar." -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Gebruiker '%(nick)s' bewerken" @@ -456,68 +456,68 @@ msgstr "Database niet gevonden, voer de juiste locatie in" msgid "DB is not Writeable" msgstr "Kan niet schrijven naar database" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-sleutellocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-certificaatlocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "Het wachtwoord moet tussen de 1 en 40 tekens lang zijn" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "E-mailserver-instellingen bijgewerkt" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Databaseconfiguratie" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Vul alle velden in!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Het e-mailadres bevat geen geldige domeinnaam" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Gebruiker toevoegen" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Gebruiker '%(user)s' aangemaakt" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Bestaand account met dit e-mailadres of deze gebruikersnaam aangetroffen." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Gebruiker '%(nick)s' verwijderd" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Kan Gast gebruiker niet verwijderen" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Kan laatste systeembeheerder niet verwijderen" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "E-mail kan niet leeg zijn en moet geldig zijn" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' bijgewerkt" @@ -535,117 +535,117 @@ msgstr "Kan programma niet uitvoeren" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Aangepaste kolom Nr.%(column)d bestaat niet in de Calibre Database" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Geen" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Gebruiker mist rechten om de omslag te uploaden" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "De metagegevens zijn bijgewerkt" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Fout tijdens bijwerken van boek: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Bestand %(file)s geüpload" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Bron- of doelformaat ontbreekt voor conversie" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, 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" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s is geen geldige taal" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Het te uploaden bestand moet voorzien zijn van een extensie" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Omslag %(file)s niet verplaatst: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Het boekformaat is verwijderd" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Het boek is verwijderd" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "U mist rechten om boeken te verwijderen" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "metagegevens bewerken" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s is geen geldig nummer, sla het over" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Gebruiker mist rechten om extra bestandsformaten te uploaden" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Kan %(file)s niet opslaan." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s" @@ -658,180 +658,208 @@ msgstr "Het instellen van Google Drive is niet afgerond, heractiveer Google Driv msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Het callback-domein is niet geverifieerd. Volg de stappen in de Google-ontwikkelaarsconsole om het domein te verifiëren" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formaat niet gevonden voor boek met id: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s niet aangetroffen op Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s niet gevonden %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Versturen naar Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Deze e-mail is verstuurd via Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web - test-e-mail" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Test-e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Aan de slag met Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registratie-e-mailadres van gebruiker: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s converteren naar %(format)s en versturen naar Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s versturen naar Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s verzonden naar Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Het opgevraagde bestand kan niet worden gelezen. Ben je hiertoe gemachtigd?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Gelezen/ongelezen status kan niet aangepast worden: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Het verwijderen van de boekenmap voor boek %(id)s is mislukt, het pad heeft submappen: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Verwijderen van boek %(id)s mislukt: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Verwijder boek %(id)s alleen uit database, boek pad is ongeldig: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Fout bij hernoemen bestand op bestandslocatie: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "Bestaand account gevondne met dit e-mailadres" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Deze gebruikersnaam is al in gebruik" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Ongeldig E-Mail adres" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "Het wachtwoord voldoet niet aan de validatieregels" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Pythonmodule 'advocate' is niet geïnstalleerd maar is nodig omslag uploads" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Fout bij downloaden omslag" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Onjuist omslagformaat" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Toegang tot localhost of het lokale netwerk niet toegestaant voor omslag uploaden" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Locatie aanmaken voor omslag mislukt" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Omslag-bestand is geen afbeelding of kon niet opgeslagen worden" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Alleen jpg/jpeg/png/webp/bmp bestanden worden ondersteund als omslag" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Ongeldig omslagbestand" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrar executable niet gevonden" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Fout bij het uitvoeren van Unrar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Willekeurige boeken" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrar executable niet gevonden" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Fout bij het uitvoeren van Unrar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Kan niet schrijven naar database" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Kan programma niet uitvoeren" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Fout bij het uitvoeren van Unrar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Voeg alle boeken toe aan de wachtrij voor het maken van een metagegevens backup" @@ -1118,7 +1146,7 @@ msgstr "Fout tijdens het zoeken van aangepaste kolommen, start Calibre-Web opnie msgid "Advanced Search" msgstr "Geavanceerd zoeken" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Ongeldige boekenplank opgegeven" @@ -1132,100 +1160,105 @@ msgstr "Sorry, je mag geen boeken toevoegen aan boekenplank: %(shelfname)s" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Dit boek maakt al deel uit van boekenplank: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Het boek is toegevoegd aan boekenplank: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "U heeft niet voldoende rechten om een boek aan deze boekenplank toe te voegen" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Deze boeken maken al deel uit van boekenplank: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "De boeken zijn toegevoegd aan boekenplank: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Kan boeken niet toevoegen aan boekenplank: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Het boek is verwijderd van boekenplank: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "U heeft niet voldoende rechten om een boek van deze boekenplank te verwijderen" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Boekenplank maken" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Je bent niet gemachtigd deze boekenplank aan te passen" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Pas een boekenplank aan" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Fout bij verwijderen boekenplank!" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Het boek is verwijderd" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Volgorde van boekenplank veranderen: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Je mist rechten om een openbare boekenplank te maken " -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Boekenplank '%(title)s' aangemaakt" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Boekenplank '%(title)s' is aangepast" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Er is een fout opgetreden" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Een openbare boekenplank met de naam '%(title)s' bestaat al." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Een persoonlijke boekenplank met de naam '%(title)s' bestaat al." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Boekenplank: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Kan boekenplank niet openen: de boekenplank bestaat niet of is ontoegankelijk" @@ -1398,12 +1431,12 @@ msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie" msgid "Success! Confirmation Email has been sent." msgstr "Er is een bevestigings-e-mail verstuurd naar je e-mailadres." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Kan de LDAP authenticatie niet activeren" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "Wacht alstublieft één minuut voor de volgende inlogpoging" @@ -1429,7 +1462,7 @@ msgstr "Verkeerde gebruikersnaam of wachtwoord" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres" #: cps/web.py:1403 @@ -1466,46 +1499,46 @@ msgstr "Bestaand account met dit e-mailadres aangetroffen." msgid "Found no valid gmail.json file with OAuth information" msgstr "Geen geldig gmail.json bestand gevonden met OAuth informatie" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s verzonden naar Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s niet gevonden" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s formaat is niet gevonden op de schijf" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "E-Book converter mislukt met een onbekende foutmelding" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converteerder mislukt: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Omgezette bestand is niet gevonden of meer dan een bestand in map %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "E-boek-conversie mislukt: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre mislukt met foutmelding: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Overzetten" @@ -1517,11 +1550,15 @@ msgstr "Opnieuw verbinding aan het maken met Calibre database" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "metagegevens bewerken" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1683,7 +1720,7 @@ msgstr "Inloggen op afstand" msgid "Reverse Proxy Login" msgstr "Reverse Proxy Login" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Reverse proxy header naam" @@ -1783,13 +1820,13 @@ msgid "Are you sure you want to restart?" msgstr "Weet je zeker dat je Calibre-Web wilt herstarten?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Oké" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1974,8 +2011,8 @@ msgstr "Boek inkijken na bewerking" msgid "Fetch Metadata" msgstr "Metagegevens ophalen" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2142,27 +2179,31 @@ msgstr "Samenvoegen" msgid "Location of Calibre Database" msgstr "Locatie van de Calibre-database" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Google Drive gebruiken?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Google Drive goedkeuren" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre-map" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metagegevens Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Intrekken" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "Database niet gevonden, voer een geldig pad in" @@ -2224,259 +2265,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Zet niet Engelse tekens in titel en auteur om tijdens het opslaan" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Uploaden inschakelen" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Zorg dat gebruikers uploadrechten hebben)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Toegelaten upload bestandsformaten" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Anoniem verkennen inschakelen" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Openbare registratie inschakelen" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Gebruik e-mail als inlognaam" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Inloggen op afstand inschakelen ('magic link')" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Zet Kobo sync aan" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy onbekende verzoeken naar Kobo winkel" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Server Externe Port (voor port doorgestuurde API oproepen)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Gebruik Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Maak API-sleutel aan" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API-sleutel" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API-geheim" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Reverse Proxy authenticatie toestaan" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Login type" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Gebruik standaard authenticatie" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Gebruik LDAP authenticatie" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Gebruik OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP Server hostnaam of IP-adres" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP Server Poort" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP encryptie" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CACertificataat Path (Alleen nodig voor Client Certificaat Autorisatie)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP Certificaat Pad (Alleen nodig voor Client Certificaat Autorisatie)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP SleutelBestand Pad (alleen nodig voor Client Certificaat Autorisatie)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP Authenticatie" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anoniem" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Niet geverifieerd" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Eenvoudig" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP Administrator naam" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP Administrator wachtwoord" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP User Object Filter" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP Server is OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "De volgende instellingen zijn nodig voor het importeren van gebruikers:" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP Groep Object Filter" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP groepnaam" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP groepleden veld" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP Lid Gebruiker Filter Detectie" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Automatisch detecteren" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Aangepast Filter" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP Lid Gebruiker Filter" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Verkrijg %(provider)s OAuth Verificatiegegevens" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Client Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Client geheim" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Externe programma's" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Pad naar Calibre E-Book Converteerder" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre E-Book omzet instellingen" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Pad naar Kepubify E-book Converteerder" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Locatie van Unrar-programma" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth Instellingen" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "Beperk aantal mislukte inlogpogingen" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "Sessiebescherming" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "Basis" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "Sterk" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Gebruikerswachtwoord herstellen" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "Minimale wachtwoordlengte" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "Forceer getal" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "Forceer kleine letter" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "Forceer hoofdletter" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "Forceer speciaal teken" diff --git a/cps/translations/no/LC_MESSAGES/messages.mo b/cps/translations/no/LC_MESSAGES/messages.mo index 07fe003e..3086b19e 100644 Binary files a/cps/translations/no/LC_MESSAGES/messages.mo and b/cps/translations/no/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/no/LC_MESSAGES/messages.po b/cps/translations/no/LC_MESSAGES/messages.po index 69652fb1..d01c3e5e 100644 --- a/cps/translations/no/LC_MESSAGES/messages.po +++ b/cps/translations/no/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-01-06 11:00+0000\n" "Last-Translator: Vegard Fladby \n" "Language: no\n" @@ -45,8 +45,8 @@ msgstr "Ukjent kommando" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Test e-post i kø for sending til %(email)s, sjekk Oppgaver for resultat" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Ukjent" @@ -89,7 +89,7 @@ msgstr "Vis alt" msgid "Malformed request" msgstr "Feil utformet forespørsel" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Gjestenavn kan ikke endres" @@ -97,7 +97,7 @@ msgstr "Gjestenavn kan ikke endres" msgid "Guest can't have this role" msgstr "Gjesten kan ikke ha denne rollen" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratorbruker igjen, kan ikke fjerne administratorrollen" @@ -129,7 +129,7 @@ msgstr "Ingen gyldig lokalitet gitt" msgid "No Valid Book Language Given" msgstr "Ikke oppgitt gyldig bokspråk" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter ikke funnet" @@ -141,7 +141,7 @@ msgstr "Ugyldig lesekolonne" msgid "Invalid Restricted Column" msgstr "Ugyldig begrenset kolonne" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-konfigurasjonen er oppdatert" @@ -289,11 +289,11 @@ msgstr "Rediger e-postserverinnstillinger" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, fuzzy, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasefeil: %(error)s." @@ -333,7 +333,7 @@ msgstr "Ugyldig varighet for spesifisert oppgave" msgid "Scheduled tasks settings updated" msgstr "Innstillinger for planlagte oppgaver er oppdatert" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 #, fuzzy msgid "Oops! An unknown error occurred. Please try again later." msgstr "En ukjent feil oppstod. Prøv igjen senere." @@ -342,7 +342,7 @@ msgstr "En ukjent feil oppstod. Prøv igjen senere." msgid "Settings DB is not Writeable" msgstr "Innstillinger DB er ikke skrivbar" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Rediger bruker %(nick)s" @@ -451,68 +451,68 @@ msgstr "DB-plassering er ikke gyldig, skriv inn riktig bane" msgid "DB is not Writeable" msgstr "DB er ikke skrivbar" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Nøkkelfilplasseringen er ikke gyldig. Angi riktig bane" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Sertifikatfilplasseringen er ikke gyldig, vennligst skriv inn riktig bane" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Databaseinnstillinger oppdatert" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Databasekonfigurasjon" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 #, fuzzy msgid "Oops! Please complete all fields." msgstr "Vennligst fyll ut alle feltene!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-post er ikke fra gyldig domene" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Legg til ny bruker" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Bruker '%(user)s' opprettet" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Fant en eksisterende konto for denne e-postadressen eller navnet." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Brukeren '%(nick)s' slettet" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Kan ikke slette gjestebruker" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Ingen administratorbruker igjen, kan ikke slette bruker" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 #, fuzzy msgid "Email can't be empty and has to be a valid Email" msgstr "E-postadresse kan ikke være tom og må være en gyldig e-post" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Bruker '%(nick)s' oppdatert" @@ -530,118 +530,118 @@ msgstr "Utførelsestillatelser mangler" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Egendefinert kolonnenr.%(column)d finnes ikke i caliber-databasen" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ingen" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 #, fuzzy msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! Den valgte boktittelen er utilgjengelig. Filen eksisterer ikke eller er ikke tilgjengelig" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Brukeren har ingen rettigheter til å laste opp cover" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikatorer skiller ikke mellom store og små bokstaver, overskriver gammel identifikator" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata ble oppdatert" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Feil ved redigering av bok: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Fil %(file)s lastet opp" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Kilde- eller målformat for konvertering mangler" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Boken ble satt i kø for konvertering til %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det oppsto en feil ved konvertering av denne boken: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Opplastet bok finnes sannsynligvis i biblioteket, vurder å endre før du laster opp ny: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' er ikke et gyldig språk" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Filtypen «%(ext)s» er ikke tillatt å lastes opp til denne serveren" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Filen som skal lastes opp må ha en utvidelse" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Filen %(filename)s kunne ikke lagres i midlertidig dir" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Kunne ikke flytte omslagsfil %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Bokformatet er slettet" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Boken ble slettet" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Du mangler tillatelser til å slette bøker" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "redigere metadata" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s er ikke et gyldig tall, hopper over" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Brukeren har ingen rettigheter til å laste opp flere filformater" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kunne ikke opprette banen %(path)s (Tillatelse nektet)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Kunne ikke lagre filen %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformat %(ext)s lagt til %(book)s" @@ -654,179 +654,207 @@ msgstr "Google Disk-konfigurasjonen er ikke fullført. Prøv å deaktivere og ak msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Tilbakeringingsdomene er ikke bekreftet. Følg fremgangsmåten for å bekrefte domenet i Googles utviklerkonsoll" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s format ikke funnet for bok-ID: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s ikke funnet på Google Disk: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ikke funnet: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Send til E-Reader" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Denne e-posten er sendt via Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-post" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Test e-post" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Kom i gang med Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrerings-e-post for bruker: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Konverter %(orig)s til %(format)s og send til E-Reader" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Send %(format)s til E-Reader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s sendes til E-Reader" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Den forespurte filen kunne ikke leses. Kanskje feil tillatelser?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Lesestatus kunne ikke angis: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Sletting av bokmappe for bok %(id)s mislyktes, banen har undermapper: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Sletting av bok %(id)s mislyktes: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Sletter bok %(id)s kun fra databasen, bokbanen i databasen er ikke gyldig: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Endre navn på forfatter fra: '%(src)s' til '%(dest)s' mislyktes med feil: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fil %(file)s ikke funnet på Google Disk" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Endre navn på tittel fra: '%(src)s' til '%(dest)s' mislyktes med feil: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Feil i endre navn på fil i banen: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Finner ikke bokbane %(path)s på Google Disk" -#: cps/helper.py:665 +#: cps/helper.py:668 #, fuzzy msgid "Found an existing account for this Email address" msgstr "Fant en eksisterende konto for denne e-postadressen" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Dette brukernavnet er allerede tatt" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Ugyldig format for e-postadresse" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python-modulen 'advocate' er ikke installert, men er nødvendig for omslagsopplastinger" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Feil ved nedlasting av cover" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Omslagsformatfeil" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Du har ikke tilgang til localhost eller det lokale nettverket for coveropplastinger" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Kunne ikke opprette bane for dekning" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Cover-filen er ikke en gyldig bildefil, eller kunne ikke lagres" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Bare jpg/jpeg/png/webp/bmp-filer støttes som coverfile" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Ugyldig omslagsfilinnhold" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Bare jpg/jpeg-filer støttes som coverfile" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrar binær fil ikke funnet" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "Feil ved kjøring av UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "Dekke" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrar binær fil ikke funnet" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "Feil ved kjøring av UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "DB er ikke skrivbar" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Utførelsestillatelser mangler" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Feil ved kjøring av UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Sett alle bøker i kø for sikkerhetskopiering av metadata" @@ -1112,7 +1140,7 @@ msgstr "Feil ved søk etter egendefinerte kolonner. Start Calibre-Web på nytt" msgid "Advanced Search" msgstr "Avansert søk" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Ugyldig hylle er angitt" @@ -1125,98 +1153,103 @@ msgstr "Beklager at du ikke har lov til å legge til en bok i den hyllen" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Boken er allerede en del av hyllen: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Boken er lagt til i hyllen: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Du har ikke lov til å legge en bok i hyllen" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Bøker er allerede en del av hyllen: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Bøker er lagt til i hyllen: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Kunne ikke legge til bøker i hyllen: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Boken er fjernet fra hyllen: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Beklager at du ikke har lov til å fjerne en bok fra denne hyllen" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Lag en hylle" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Beklager at du ikke har lov til å redigere denne hyllen" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Rediger en hylle" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Feil ved sletting av hylle" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Hylle slettet" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Endre rekkefølgen på hylle: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Beklager at du ikke har lov til å opprette en offentlig hylle" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Hylle %(title)s opprettet" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Hylle %(title)s endret" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "det var en feil" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "En offentlig hylle med navnet '%(title)s' eksisterer allerede." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "En privat hylle med navnet '%(title)s' eksisterer allerede." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylle: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Feil ved åpning av hylle. Hylle finnes ikke eller er ikke tilgjengelig" @@ -1391,12 +1424,12 @@ msgstr "Din e-post kan ikke registreres" msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Kan ikke aktivere LDAP-autentisering" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1422,7 +1455,7 @@ msgstr "Vennligst skriv inn gyldig brukernavn for å tilbakestille passordet" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nytt passord ble sendt til e-postadressen din" #: cps/web.py:1403 @@ -1458,46 +1491,46 @@ msgstr "" msgid "Found no valid gmail.json file with OAuth information" msgstr "Fant ingen gyldig gmail.json-fil med OAuth-informasjon" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s sendes til E-Reader" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Caliber ebook-convert %(tool)s ble ikke funnet" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s format ikke funnet på disken" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Ebook-konvertering mislyktes med ukjent feil" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-konvertering mislyktes: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konvertert fil ikke funnet eller mer enn én fil i mappen %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ebook-konvertering mislyktes: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Caliber mislyktes med feil: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Konvertere" @@ -1509,10 +1542,14 @@ msgstr "Kobler til Caliber-databasen på nytt" msgid "E-mail" msgstr "E-post" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "Sikkerhetskopierer metadata" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1677,7 +1714,7 @@ msgstr "Magic Link ekstern pålogging" msgid "Reverse Proxy Login" msgstr "Omvendt proxy-pålogging" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Omvendt proxy-overskriftsnavn" @@ -1780,13 +1817,13 @@ msgid "Are you sure you want to restart?" msgstr "Er du sikker på at du vil starte på nytt?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1971,8 +2008,8 @@ msgstr "Se bok på Lagre" msgid "Fetch Metadata" msgstr "Hent metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2136,27 +2173,31 @@ msgstr "Slå sammen" msgid "Location of Calibre Database" msgstr "Plassering av Caliber-databasen" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Bruker du Google Disk?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentiser Google Disk" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Caliber-mappe" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Se kanal-ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Oppheve" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Ny db-plassering er ugyldig, vennligst skriv inn gyldig bane" @@ -2217,261 +2258,265 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Konverter ikke-engelske tegn i tittel og forfatter mens du lagrer på disk" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Aktiver opplastinger" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Vennligst sørg for at brukerne også har opplastingsrettigheter)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Tillatte opplastingsfilformater" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Aktiver anonym surfing" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Aktiver offentlig registrering" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 #, fuzzy msgid "Use Email as Username" msgstr "Bruk e-post som brukernavn" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Aktiver Magic Link Remote Login" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Aktiver Kobo-synkronisering" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Ukjente proxy-forespørsler til Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Server ekstern port (for portviderekoblede API-anrop)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Bruk Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Opprett en API-nøkkel" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API-nøkkel" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Tillat omvendt proxy-autentisering" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Påloggingstype" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Bruk standardautentisering" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Bruk LDAP-autentisering" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Bruk OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP-serverens vertsnavn eller IP-adresse" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP-serverport" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP-kryptering" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CACertificate Path (Kun nødvendig for klientsertifikatautentisering)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP-sertifikatbane (kun nødvendig for klientsertifikatautentisering)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP-nøkkelfilbane (kun nødvendig for klientsertifikatautentisering)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP-autentisering" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonym" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Uautentisert" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Enkel" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP-administratorbrukernavn" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP-administratorpassord" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP-brukerobjektfilter" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP Server er OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Følgende innstillinger er nødvendig for brukerimport" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP gruppeobjektfilter" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP-gruppenavn" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Felt for LDAP-gruppemedlemmer" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP-medlemsbrukerfilterdeteksjon" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 #, fuzzy msgid "External binaries" msgstr "Ekstern port" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 #, fuzzy msgid "Calibre E-Book Converter Settings" msgstr "Caliber ebook-convert %(tool)s ble ikke funnet" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Vis forfattervalg" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo index f2bd8f97..247b9548 100644 Binary files a/cps/translations/pl/LC_MESSAGES/messages.mo and b/cps/translations/pl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po index 7f0cd6bc..22232528 100644 --- a/cps/translations/pl/LC_MESSAGES/messages.po +++ b/cps/translations/pl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre Web - polski (POT: 2021-06-12 08:52)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2021-06-12 15:35+0200\n" "Last-Translator: Radosław Kierznowski \n" "Language: pl\n" @@ -47,8 +47,8 @@ msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Testowy e-mail czeka w kolejce do wysłania do %(email)s, sprawdź zadania, aby uzyskać wynik" # ??? -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Nieznany" @@ -92,7 +92,7 @@ msgstr "Pokaż wszystkie" msgid "Malformed request" msgstr "Nieprawidłowo sformułowane żądanie" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Nazwa gościa nie może być zmieniona" @@ -100,7 +100,7 @@ msgstr "Nazwa gościa nie może być zmieniona" msgid "Guest can't have this role" msgstr "Gość nie może pełnić tej roli" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Nie można odebrać praw administratora. Brak na serwerze innego konta z prawami administratora" @@ -132,7 +132,7 @@ msgstr "Nie podano prawidłowej lokalizacji" msgid "No Valid Book Language Given" msgstr "Nie podano obowiązującego języka książki" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Nie znaleziono parametru" @@ -146,7 +146,7 @@ msgstr "Nieprawidłowa kolumna odczytu" msgid "Invalid Restricted Column" msgstr "Nieprawidłowa kolumna z ograniczeniami" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Konfiguracja Calibre-Web została zaktualizowana" @@ -294,11 +294,11 @@ msgstr "Zmień ustawienia SMTP" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Błąd bazy danych: %(error)s." @@ -337,7 +337,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." @@ -345,7 +345,7 @@ msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Edytuj użytkownika %(nick)s" @@ -458,67 +458,67 @@ msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścież msgid "DB is not Writeable" msgstr "Baza danych nie jest zapisywalna" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Zaktualizowano ustawienia serwera poczty e-mail" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Konfiguracja bazy danych" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Proszę wypełnić wszystkie pola!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-mail nie pochodzi z prawidłowej domeny" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Użytkownik '%(user)s' został utworzony" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Użytkownik '%(nick)s' został usunięty" -#: cps/admin.py:1959 +#: cps/admin.py:1969 #, fuzzy msgid "Can't delete Guest User" msgstr "Nie można usunąć użytkownika gościa" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Nie można usunąć użytkownika. Brak na serwerze innego konta z prawami administratora" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" @@ -536,117 +536,117 @@ msgstr "Brak uprawnienia do wykonywania pliku" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Niestandardowa kolumna No.%(column)d nie istnieje w bazie calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Brak" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "W identyfikatorach nie jest rozróżniana wielkość liter, nadpisywanie starego identyfikatora" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadane zostały pomyślnie zaktualizowane" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Wysłano plik %(file)s" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Brak formatu źródłowego lub docelowego do konwersji" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Podczas konwersji książki wystąpił błąd: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s nie jest prawidłowym językiem" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Plik do wysłania musi mieć rozszerzenie" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Plik książki w wybranym formacie został usunięty" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Książka została usunięta" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie jest poprawną liczbą, pomijanie" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, 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:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Nie można zapisać pliku %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format pliku %(ext)s dodany do %(book)s" @@ -659,182 +659,210 @@ msgstr "Konfiguracja Google Drive nie została zakończona, spróbuj dezaktywowa msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Zwrotna domena nie jest zweryfikowana, proszę zweryfikowania domenę w konsoli deweloperskiej google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "Nie znaleziono formatu %(format)s dla id książki: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Nie znaleziono %(format)s na Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nie znaleziono: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Wyślij do Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Ten e-mail został wysłany za pośrednictwem Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Testowy e-mail Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Testowy e-mail" # ??? -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Zacznij korzystać z Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Rejestracja e-mail dla użytkownika: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Konwertuj %(orig)s do %(format)s i wyślij do Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Wyślij %(format)s do Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Wyślij do Kindle" # ??? -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Żądany plik nie mógł zostać odczytany. Może brakuje uprawnień?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Usuwanie folderu książki dla książki %(id)s nie powiodło się, ścieżka ma podfoldery: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Usuwanie książki %(id)s zakończyło się błędem: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Usuwanie książki %(id)s, ścieżka książki jest niepoprawna: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Nie znaleziono pliku %(file)s na Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format 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:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Nazwa użytkownika jest już zajęta" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Nieprawidłowy format adresu e-mail" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Błąd przy pobieraniu okładki" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Błędny format okładki" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Nie udało się utworzyć ścieżki dla okładki" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Plik okładki nie jest poprawnym plikiem obrazu lub nie mógł zostać zapisany" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Jako plik okładki obsługiwane są tylko pliki jpg/jpeg/png/webp/bmp" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Plik wykonywalny programu unrar nie znaleziony" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Błąd przy wykonywaniu unrar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Odkrywaj" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Plik wykonywalny programu unrar nie znaleziony" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Błąd przy wykonywaniu unrar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Baza danych nie jest zapisywalna" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Brak uprawnienia do wykonywania pliku" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Błąd przy wykonywaniu unrar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1123,7 +1151,7 @@ msgstr "Błąd podczas wyszukiwania kolumn niestandardowych, proszę zrestartowa msgid "Advanced Search" msgstr "Wyszukiwanie" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Podano niewłaściwą półkę" @@ -1137,100 +1165,105 @@ msgstr "Niestety, nie posiadasz uprawnień do dodania książki do półki: %(sh msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Książka jest już dodana do półki: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Książka została dodana do półki: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Książki są już dodane do półki: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Książki zostały dodane do półki %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Nie można dodać książek do półki: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Książka została usunięta z półki: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Utwórz półkę" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Niestety nie możesz usunąć książki z tej półki %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Edytuj półkę" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Książka została usunięta" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Zmieniono kolejność półki: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Półka %(title)s została utworzona" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Półka %(title)s została zmieniona" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Wystąpił błąd" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Publiczna półka o nazwie '%(title)s' już istnieje." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Prywatna półka o nazwie '%(title)s' już istnieje." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Półka: „%(name)s”" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Błąd otwierania półki. Półka nie istnieje lub jest niedostępna" @@ -1403,12 +1436,12 @@ msgstr "Twój e-mail nie może się zarejestrować" msgid "Success! Confirmation Email has been sent." msgstr "Wiadomość e-mail z potwierdzeniem została wysłana na Twoje konto e-mail." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Nie można aktywować uwierzytelniania LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1434,7 +1467,7 @@ msgstr "Błędna nazwa użytkownika lub hasło" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nowe hasło zostało wysłane na Twój adres e-mail" #: cps/web.py:1403 @@ -1470,46 +1503,46 @@ msgstr "Znaleziono istniejące konto dla tego adresu e-mail" msgid "Found no valid gmail.json file with OAuth information" msgstr "Nie znaleziono poprawnego pliku gmail.json z informacjami OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Wyślij do Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Nie znaleziono narzędzia calibre %(tool)s do konwertowania" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Nie znaleziono na dysku formatu %(format)s" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Konwertowanie ebooka zakończyło się niepowodzeniem z nieznanego powodu" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter spowodowało błąd: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konwertowany plik nie został znaleziony, lub więcej niż jeden plik w folderze %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Konwertowanie nie powiodło się: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, fuzzy, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre nie powiodło się z błędem: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1521,11 +1554,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "edytuj metadane" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1690,7 +1727,7 @@ msgstr "Zdalne logowanie (Magic Link)" msgid "Reverse Proxy Login" msgstr "Logowanie reverse proxy" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nazwa nagłowka reverse proxy" @@ -1789,13 +1826,13 @@ msgid "Are you sure you want to restart?" msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1981,8 +2018,8 @@ msgstr "Po zapisaniu wyświetl szczegóły książki" msgid "Fetch Metadata" msgstr "Uzyskaj metadane" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2153,29 +2190,33 @@ msgstr "Połącz" msgid "Location of Calibre Database" msgstr "Lokalizacja bazy danych Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Użyć dysku Google?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Uwierzytelnij Dysk Google" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Folder Calibre na Google Drive" # ??? -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 #, fuzzy msgid "Metadata Watch Channel ID" msgstr "Metadane Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Unieważnij" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Nowa lokalizacja bazy danych jest nieprawidłowa, proszę podać prawidłową ścieżkę" @@ -2236,259 +2277,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Włącz wysyłanie" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Włącz wysyłanie" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Dozwolone formaty przesyłania" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Włącz anonimowe przeglądanie" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Włącz publiczną rejestrację" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Użyj e-maila jako nazwy użytkownika" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Włącz zdalne logowanie („Magic Link”)" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Włącz synchronizację Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Nieznane żądania proxy do Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Zewnętrzny port serwera (dla połączeń API przekierowanych przez port)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Użyj Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Uzyskaj klucz API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Klucz API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Zezwalaj na uwierzytelnianie reverse proxy" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Rodzaj logowania" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Użyj standardowego uwierzytelnienia" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Użyj uwierzytelniania LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Uzyj OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nazwa hosta lub adres IP serwera LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Port serwera LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Szyfrowanie LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Ścieżka certyfikatu urzędu certyfikacji LDAP (wymagana tylko dla uwierzytelniania certyfikatu klienta)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Ścieżka certyfikatu LDAP (potrzebna tylko do uwierzytelniania certyfikatem klienta)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Ścieżka pliku klucza LDAP (wymagana tylko dla uwierzytelniania certyfikatem klienta)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Uwierzytelnianie LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonim" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Nieuwierzytelniony" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Proste" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nazwa administratora LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Hasło administratora LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP User Object Filter" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Serwer LDAP to OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Następujące ustawienia są niezbędne dla zaimportowania użytkowników" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtr obiektów grupy LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nazwa grupy LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Pola członków grupy LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Wykrywanie filtra użytkownika członka LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Autodetekcja" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtr niestandardowy" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtr użytkownika członka LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Uzyskaj %(provider)s OAuth Credential" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Client Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Client Secret" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Zewnętrzne pliki" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Ścieżka do konwertera Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Ustawienia konwertera calibre" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Ścieżka do konwertera Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Lokalizacja pliku binarnego Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Ustawienia OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Zresetuj hasło użytkownika" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/pt/LC_MESSAGES/messages.mo b/cps/translations/pt/LC_MESSAGES/messages.mo index 3e500110..bf885566 100644 Binary files a/cps/translations/pt/LC_MESSAGES/messages.mo and b/cps/translations/pt/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pt/LC_MESSAGES/messages.po b/cps/translations/pt/LC_MESSAGES/messages.po index 741bc429..e214ad41 100644 --- a/cps/translations/pt/LC_MESSAGES/messages.po +++ b/cps/translations/pt/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-07-25 11:30+0100\n" "Last-Translator: horus68 \n" "Language: pt\n" @@ -42,8 +42,8 @@ msgstr "Comando desconhecido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Sucesso! Livros enviados para lista de espera para cópia de segurança de metadados. Por favor, verifique o resultado em Tarefas" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Desconhecido" @@ -86,7 +86,7 @@ msgstr "Mostrar tudo" msgid "Malformed request" msgstr "Pedido mal construído" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Nome do convidado não pode ser alterado" @@ -94,7 +94,7 @@ msgstr "Nome do convidado não pode ser alterado" msgid "Guest can't have this role" msgstr "Convidado não pode ter esta função" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Nenhum utilizador administrador restante, impossível remover a função de administrador" @@ -126,7 +126,7 @@ msgstr "Nenhum idioma válido fornecido" msgid "No Valid Book Language Given" msgstr "Não foi indicado um idioma de livro válido" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parâmetro não encontrado" @@ -138,7 +138,7 @@ msgstr "Coluna Lido é inválida" msgid "Invalid Restricted Column" msgstr "Coluna Restrito é inválida" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Configuração do Calibre-Web atualizada" @@ -285,11 +285,11 @@ msgstr "Editar configurações do servidor de email" msgid "Success! Gmail Account Verified." msgstr "Sucesso! Conta Gmail verificada" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erro de base de dados: %(error)s." @@ -328,7 +328,7 @@ msgstr "Duração inválida para a tarefa especificada" msgid "Scheduled tasks settings updated" msgstr "Foram atualizadas as configurações de tarefas agendadas" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." @@ -336,7 +336,7 @@ msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." msgid "Settings DB is not Writeable" msgstr "Configuaração da DB não é gravável" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Editar utilizador %(nick)s" @@ -445,65 +445,65 @@ msgstr "A localização da base de dados não é válida. Por favor, digite o ca msgid "DB is not Writeable" msgstr "DB não é gravável" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do ficheiro de chaves não é válida. Por favor, digite o caminho correto" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do ficheiro de certificados não é válida. Por favor, digite o caminho correto" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "A dimensão da senha deve estar entre 1 e 40" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Configurações da base de dados atualizadas" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Configuração da base de dados" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Por favor, preencha todos os campos!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "O email não é de um domínio válido" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Adicionar novo utilizador" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Criado utilizador '%(user)s'" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Já existe uma conta para este endereço de email ou nome." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilizador '%(nick)s' eliminado" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Impossível eliminar convidado" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Nenhum utilizador administrador restante, não é possível eliminar o utilizador" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "O email não pode estar vazio e tem de ser válido" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilizador '%(nick)s' atualizado" @@ -521,117 +521,117 @@ msgstr "Falta de permissões de execução" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "A coluna personalizada No.%(column)d não existe na base de dados do Calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Nenhum" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! O Livro selecionado não está disponível. O ficheiro não existe ou não está acessível" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Utilizador não tem permissão para carregar capas" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadados atualizados com sucesso" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Erro ao editar o livro: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Ficheiro %(file)s enviado" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Formato de origem ou destino para conversão está em falta" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Livro enviado com sucesso para lista de espera de conversão para %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocorreu um erro ao converter este livro: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O livro carregado provavelmente existe na biblioteca, considere alterar antes de carregar novo: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A extensão de ficheiro '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "O ficheiro a ser carregado deve ter uma extensão" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "O ficheiro %(filename)s não foi possível ser guardado na pasta temporária" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Falha ao mover ficheiro de capa %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Formato de livro eliminado com sucesso" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Livro eliminado com sucesso" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Não tem permissões para apagar livros" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s não é um número válido, ignorando" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Utilizador não tem direitos para carregar formatos de ficheiro adicionais" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permissão negada)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o ficheiro %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de ficheiro %(ext)s adicionado a %(book)s" @@ -644,179 +644,207 @@ msgstr "Configuração do Google Drive não concluída, tente desativar e ativar msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "O domínio Callback não foi verificado. Por favor, siga os passos para verificar o domínio na consola de programadores do Google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s não encontrado para o ID do livro: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s não encontrado no Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s não encontrado: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Enviar para dispositivo de leitura" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este email foi enviado via Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Email de teste do Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Email de teste" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Comece a usar o Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Email de registo do utilizador: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Converter %(orig)s em %(format)s e enviar para dispositivo de leitura" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviar %(format)s para o dispositivo de leitura" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s enviado para o dispositivo de leitura" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Não foi possível ler o ficheiro solicitado. Talvez permissões erradas?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Estatuto de Lido não pode ser alterado: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "A eliminação da pasta de livros do livro %(id)s falhou, o caminho tem subpastas: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Falha ao eliminar livro %(id)s: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminar livro %(id)s apenas da base de dados, caminho do livro inválido: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Ficheiro %(file)s não encontrado no Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Erro ao renomear ficheiro no caminho: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format 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:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "Encontrada uma conta existente para este endereço de email" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Este nome de utilizador já está registado" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Formato de endereço de email inválido" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo Python 'advocate' não está instalado, mas é necessário para carregar capas" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Erro ao descarregar a capa" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Erro de formato da capa" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Não possui permissões para aceder a localhost ou à rede local para carregar capas" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Falha em criar um caminho para a capa" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O ficheiro de capa não é um ficheiro de imagem válido, ou não foi possível ser armazenado" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Apenas ficheiros jpg/jpeg/png/webp/bmp são suportados como ficheiros de capa" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Conteúdo do ficheiro de capa inválido" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Apenas ficheiros jpg/jpeg são suportados como ficheiros de capa" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Binário Unrar não encontrado" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Erro a executar UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Capa" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Binário Unrar não encontrado" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Erro a executar UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "DB não é gravável" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Falta de permissões de execução" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Erro a executar UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Enviar todos os livros para lista de espera para cópia de segurança de metadados" @@ -1102,7 +1130,7 @@ msgstr "Erro na pesquisa de colunas personalizadas. Por favor, reinicie o Calibr msgid "Advanced Search" msgstr "Pesquisa avançada" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Estante inválida especificada" @@ -1115,98 +1143,103 @@ msgstr "Desculpe, não possui permissões para adicionar um livro a esta estante msgid "Book is already part of the shelf: %(shelfname)s" msgstr "O livro já faz parte da estante: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "O livro foi adicionado à estante: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Não possui permissões para adicionar um livro à estante" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Os livros já fazem parte da estante: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Livros adicionados à estante: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Não foi possível adicionar livros à estante: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "O livro foi removido da estante: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Desculpe, não possui permissões para remover um livro desta estante" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Criar estante" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Desculpe, não possui permissões para editar esta estante" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Editar uma estante" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Erro a eliminar a estante" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Estante eliminada com sucesso" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Alterar ordem da Estante: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Desculpe, não possui permissões para criar uma estante pública" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s criada" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s alterada" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Ocorreu um erro" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Já existe uma estante pública com o nome '%(title)s' ." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Já existe uma estante privada com o nome'%(title)s' ." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Erro ao abrir estante. A estante não existe ou não está acessível" @@ -1379,12 +1412,12 @@ msgstr "Ops! O seu email não é permitido para registo" msgid "Success! Confirmation Email has been sent." msgstr "Sucesso! O email de confirmação foi enviado para a sua conta de email." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Não é possível ativar a autenticação LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "Por favor, aguarde um minuto antes de nova autenticação" @@ -1410,7 +1443,7 @@ msgstr "Nome de utilizador ou senha incorretos" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nova senha foi enviada para seu endereço de email" #: cps/web.py:1403 @@ -1446,46 +1479,46 @@ msgstr "Foi encontrada uma conta já existente com este endereço de email." msgid "Found no valid gmail.json file with OAuth information" msgstr "Não foi encontrado nenhum ficheiro gmail.json válido com informações do OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s enviado para dispositivo de leitura" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s não encontrado" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Formato %(format)s não encontrado no disco" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "O conversor de ebook falhou com erro desconhecido" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Conversor Kepubify falhou: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Ficheiro convertido não encontrado ou mais de um ficheiro na pasta %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Conversor de ebook falhou: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre falhou com erro: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Converter" @@ -1497,11 +1530,15 @@ msgstr "A religar base de dados Calibre" msgid "E-mail" msgstr "Email" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "Cópia de segurança de metadados" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1662,7 +1699,7 @@ msgstr "Autenticação remota Magic Link" msgid "Reverse Proxy Login" msgstr "Autenticação de Proxy reverso" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nome do cabeçalho do Proxy reverso" @@ -1761,13 +1798,13 @@ msgid "Are you sure you want to restart?" msgstr "Tem a certeza de que quer reiniciar?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1952,8 +1989,8 @@ msgstr "Ver livro ao guardar" msgid "Fetch Metadata" msgstr "Obter metadados" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2117,27 +2154,31 @@ msgstr "Fundir" msgid "Location of Calibre Database" msgstr "Localização da base de dados Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Usar Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autenticar com Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Pasta Calibre no Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID de canal de metadados" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Revogar" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Novo local da base de dados é inválido. Por favor, insira um caminho válido" @@ -2198,259 +2239,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Converter caracteres não latinos nos títulos e autores enquanto guarda em disco" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Ativar carregamentos" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Por favor, certifique-se de que os utilizadores também tenham direitos de carregamento)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formatos de ficheiros de carregamento permitidos" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Ativar navegação anónima" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Ativar inscrição pública" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Usar email como nome de utilizador" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Ativar autenticação remota do Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Ativar Kobo sync" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Solicitações desconhecidas de Proxy para a Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Porta externa do servidor (para chamadas API encaminhadas)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Usar Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Criar uma chave API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Chave API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Senha API Goodreads" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Permitir autenticação por Proxy reverso" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipo de autenticação" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Usar autenticação padrão" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Usar autenticação LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Usar OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nome ou endereço IP do servidor LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Porta do servidor LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Criptografia LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do certificado CA do LDAP (Necessário apenas para autenticação por certificado de cliente)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do certificado LDAP (Necessário apenas para autenticação por certificado de cliente)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do ficheiro de chave LDAP (Necessário apenas para autenticação por certificado de cliente)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Autenticação LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anónimo" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Não autenticado" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simples" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nome de utilizador do administrador LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Senha de administrador LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Nome distinto LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtro de Objeto do utilizador LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "O Servidor LDAP é OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "As seguintes configurações são necessárias para a importação de utilizadores" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtro de objetos do grupo LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nome do grupo LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Campo de membros do grupo LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP deteção de filtro de utilizador membro LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Autodetetar" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtro personalizado" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtro de utilizador Membro LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Obter credenciais OAuth de %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "ID do cliente OAuth de %(provider)s" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Senha do cliente Oauth de %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Binários externos" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Caminho para o conversor de ebooks do Calibre" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Configurações do conversor de ebooks do Calibre" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Caminho para o conversor de ebooks do Kepubify" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Caminho para o binário Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Configurações do OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "Limitar tentativas de autenticação falhada" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "Proteção de sessão" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "Básica" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "Forte" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Política de senha do utilizador" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "Tamanho mínimo da senha" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "Exigir números" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "Exigir letras minúsculas" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "Exigir letras maiúsculas" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "Exigir caracteres especiais" diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo index 281a704f..08b2fe93 100644 Binary files a/cps/translations/pt_BR/LC_MESSAGES/messages.mo and b/cps/translations/pt_BR/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.po b/cps/translations/pt_BR/LC_MESSAGES/messages.po index 84a0a7f3..623b2a92 100644 --- a/cps/translations/pt_BR/LC_MESSAGES/messages.po +++ b/cps/translations/pt_BR/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: br\n" @@ -42,8 +42,8 @@ msgstr "Comando desconhecido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "E-mail de teste enfileirado para envio para %(email)s, verifique o resultado em Tarefas" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Desconhecido" @@ -86,7 +86,7 @@ msgstr "Mostrar Tudo" msgid "Malformed request" msgstr "Requisição Malformada" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Nome do Convidado não pode ser alterado" @@ -94,7 +94,7 @@ msgstr "Nome do Convidado não pode ser alterado" msgid "Guest can't have this role" msgstr "Convidado não pode ter esta função" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Nenhum usuário administrador restante, impossível remover a função de administrador" @@ -126,7 +126,7 @@ msgstr "Nenhum Idioma Válido Fornecido" msgid "No Valid Book Language Given" msgstr "Nenhum Idioma do Livro Válido Fornecido" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parametro não encontrado" @@ -138,7 +138,7 @@ msgstr "Coluna Lido Inválida" msgid "Invalid Restricted Column" msgstr "Coluna Restrito Inválida" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Configuração do Calibre-Web atualizada" @@ -285,11 +285,11 @@ msgstr "Editar configurações do servidor de e-mail" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erro de banco de dados: %(error)s." @@ -328,7 +328,7 @@ msgstr "Duração inválida para a tarefa especificada" msgid "Scheduled tasks settings updated" msgstr "Configurações de tarefas agendadas atualizadas" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." @@ -336,7 +336,7 @@ msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." msgid "Settings DB is not Writeable" msgstr "Settings DB não é gravável" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuário %(nick)s" @@ -445,65 +445,65 @@ msgstr "A localização do banco de dados não é válida, digite o caminho corr msgid "DB is not Writeable" msgstr "DB não é gravável" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Keyfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Certfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Configurações do Banco de Dados Atualizada" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Configuração do Banco de Dados" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Por favor, preencha todos os campos!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "O e-mail não é de um domínio válido" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Adicionar novo usuário" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Usuário '%(user)s' criado" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Encontrada uma conta existente para este endereço de e-mail ou apelido." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuário '%(nick)s' excluído" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Impossível excluir Convidado" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Nenhum usuário administrador restante, não é possível apagar o usuário" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuário '%(nick)s' atualizado" @@ -521,117 +521,117 @@ msgstr "Faltam as permissões de execução" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "A Coluna Personalizada No.%(column)d não existe no banco de dados do calibre" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Nenhum" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! O Livro selecionado não está disponível. O arquivo não existe ou não é acessível" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Usuário não tem permissão para fazer upload da capa" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadados atualizados com sucesso" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Erro ao editar o livro: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Arquivo %(file)s enviado" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Formato de origem ou destino para conversão ausente" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocorreu um erro ao converter este livro: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O livro carregado provavelmente existe na biblioteca, considere alterar antes de carregar novo: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "O arquivo a ser carregado deve ter uma extensão" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Formato do Livro Apagado com Sucesso" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Livro Apagado com Sucesso" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Você não tem permissão para apagar livros" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s não é um número válido, ignorando" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Usuário não tem direitos para fazer upload de formatos de arquivo adicionais" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permission denied)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o arquivo %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de arquivo %(ext)s adicionado a %(book)s" @@ -644,179 +644,207 @@ msgstr "Configuração do Google Drive não concluída, tente desativar e ativar msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "O domínio Callback não foi verificado, por favor siga os passos para verificar o domínio no console do desenvolvedor do google" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s não encontrado para o id do livro: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s não encontrado no Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s não encontrado: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Enviar para E-Reader" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este e-mail foi enviado via Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "E-mail de teste do Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "E-mail de teste" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Comece a usar o calibre-web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "E-mail de registro do usuário: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Converter %(orig)s em %(format)s e enviar para E-Reader" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviar %(format)s para o E-Reader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s enviado para E-Reader" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "O arquivo solicitado não pôde ser lido. Talvez permissões erradas?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Status Lido não pode ser alterado: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "A exclusão da pasta de livros do livro %(id)s falhou, o caminho tem subpastas: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Falha ao excluir livro %(id)s: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Excluindo livro %(id)s somente do banco de dados, caminho do livro inválido: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Arquivo %(file)s não encontrado no Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Erro ao renomear arquivo no caminho: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format 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:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Este nome de usuário já está registrado" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Formato de endereço de e-mail inválido" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo Python 'advocate' não está instalado, mas é necessário para uploads de capa" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Erro ao Baixar a capa" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Erro de Formato da Capa" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Você não tem permissão para acessar localhost ou a rede local para uploads de capa" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Falha em criar caminho para a capa" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O arquivo de capa não é um arquivo de imagem válido, ou não pôde ser armazenado" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Apenas arquivos jpg/jpeg/png/webp/bmp são suportados como arquivos de capa" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Conteúdo do arquivo de capa inválido" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Binário Unrar não encontrado" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Erro excecutando UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Capa" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Binário Unrar não encontrado" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Erro excecutando UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "DB não é gravável" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Faltam as permissões de execução" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Erro excecutando UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1102,7 +1130,7 @@ msgstr "Erro na pesquisa de colunas personalizadas, reinicie o Calibre-Web" msgid "Advanced Search" msgstr "Pesquisa Avançada" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Estante inválida especificada" @@ -1115,98 +1143,103 @@ msgstr "Desculpe, você não tem permissão para adicionar um livro a esta estan msgid "Book is already part of the shelf: %(shelfname)s" msgstr "O livro já faz parte da estante: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "O livro foi adicionado à estante: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Você não tem permissão para adicionar um livro à estante" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Os livros já fazem parte da estante: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Livros foram adicionados à estante: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Não foi possível adicionar livros à estante: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "O livro foi removido da estante: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Desculpe, você não tem permissão para remover um livro desta estante" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crie uma Estante" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Desculpe, você não tem permissão para editar esta estante" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Editar uma estante" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Erro apagando Estante" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Estante Apagada com Sucesso" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Alterar ordem da Estante: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Desculpe, você não tem permissão para criar uma estante pública" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s criada" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s alterada" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Houve um erro" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Já existe uma estante pública com o nome '%(title)s' ." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Já existe uma estante privada com o nome'%(title)s' ." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Erro ao abrir estante. A estante não existe ou não está acessível" @@ -1379,12 +1412,12 @@ msgstr "Seu e-mail não tem permissão para registrar" msgid "Success! Confirmation Email has been sent." msgstr "O e-mail de confirmação foi enviado para a sua conta de e-mail." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Não é possível ativar a autenticação LDAP" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1410,7 +1443,7 @@ msgstr "Nome de Usuário ou Senha incorretos" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nova Senha foi enviada para seu endereço de e-mail" #: cps/web.py:1403 @@ -1446,46 +1479,46 @@ msgstr "Encontrada uma conta existente para este endereço de e-mail." msgid "Found no valid gmail.json file with OAuth information" msgstr "Não foi encontrado nenhum arquivo gmail.json válido com informações do OAuth" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s enviado para E-Reader" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre ebook-convert %(tool)s não encontrado" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Formato %(format)s não encontrado no disco" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "O conversor de Ebook falhou com erro desconhecido" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter falhou: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Arquivo convertido não encontrado ou mais de um arquivo na pasta %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ebook-converter falhou: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre falhou com erro: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Converter" @@ -1497,11 +1530,15 @@ msgstr "Reconectando banco de dados Calibre" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "Cópia de segurança de metadados" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1662,7 +1699,7 @@ msgstr "Login remoto Magic Link" msgid "Reverse Proxy Login" msgstr "Login de Proxy Reverso" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Nome do cabeçalho do Proxy Reverso" @@ -1761,13 +1798,13 @@ msgid "Are you sure you want to restart?" msgstr "Tem a certeza que quer reiniciar?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1952,8 +1989,8 @@ msgstr "Ver Livro ao Salvar" msgid "Fetch Metadata" msgstr "Buscar Metadados" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2117,27 +2154,31 @@ msgstr "Mesclar" msgid "Location of Calibre Database" msgstr "Localização da Base de Dados Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "User Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autenticar o Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Pasta Calibre no Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Revogar" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Novo local do banco de dados inválido, insira um caminho válido" @@ -2198,259 +2239,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Converta caracteres não ingleses em título e autor enquanto salva em disco" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Habilitar Uploads" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Por favor, certifique-se de que os usuários também tenham direitos de upload)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Formatos de arquivo de upload permitidos" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Habilitar Navegação Anônima" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Habilitar Registro Público" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Use e-mail como nome de usuário" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Habilitar Login Remoto do Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Ativar Kobo sync" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Solicitações desconhecidas de proxy para a Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Porta externa do servidor (para chamadas API encaminhadas)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Usar Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Criar uma chave API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Chave API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Senha API Goodreads" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Permitir a Autenticação por Proxy Reverso" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Tipo de Login" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Usar Autenticação padrão" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Usar Autenticação LDAP" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Usar OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Nome ou endereço IP do servidor LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Porta do servidor LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Criptografia LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do CACertificate LDAP (Necessário apenas para autenticação de certificado de cliente)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do Certificado LDAP (Necessário apenas para autenticação de certificado de cliente)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Caminho do Keyfile LDAP (Necessário apenas para autenticação de certificado de cliente)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Autenticação LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anônimo" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Não autenticado" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Simples" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Nome de usuário do administrador LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Senha de Administrador LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Nome Distinto LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filtro de Objeto do Usuário LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "O Servidor LDAP é OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "As seguintes configurações são necessárias para a mportação de Usuários" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filtro de objetos do grupo LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Nome do Grupo LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Campo de Membros do Grupo LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP Detecção de filtro de usuário membro LDAP" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Autodetectar" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filtro Personalizado" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filtro de Utilizador Membro LDAP" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Obter credenciais OAuth de %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "ID do cliente OAuth de %(provider)s" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "Senha do cliente Oauth de %(provider)s" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Binários externos" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Caminho para o Calibre E-Book Converter" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Configurações do Calibre E-Book Converter" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Caminho para Kepubify E-Book Converter" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Caminho para o binário Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Configurações do OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Política de senha do usuário" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo index 87a4c5ef..474eee6b 100644 Binary files a/cps/translations/ru/LC_MESSAGES/messages.mo and b/cps/translations/ru/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index 5e1bcf29..d0f2801d 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-04-29 01:20+0400\n" "Last-Translator: ZIZA\n" "Language: ru\n" @@ -46,8 +46,8 @@ msgstr "Неизвестная команда" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Книга успешно поставлена в очередь для отправки на %(eReadermail)s" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Неизвестно" @@ -91,7 +91,7 @@ msgstr "Показать все" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -99,7 +99,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -131,7 +131,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -143,7 +143,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Конфигурация Calibre-Web обновлена" @@ -295,11 +295,11 @@ msgstr "Изменить настройки SMTP" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -338,7 +338,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Неизвестная ошибка. Попробуйте позже." @@ -346,7 +346,7 @@ msgstr "Неизвестная ошибка. Попробуйте позже." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Изменить пользователя %(nick)s" @@ -457,68 +457,68 @@ msgstr "Расположение Базы Данных неверно, пожа msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Дополнительный Настройки" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Пожалуйста, заполните все поля!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-mail не из существующей доменной зоны" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Добавить пользователя" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Пользователь '%(user)s' добавлен" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Для этого адреса электронной почты или логина уже есть учётная запись." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Пользователь '%(nick)s' удалён" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Это последний администратор, невозможно удалить пользователя" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" @@ -536,117 +536,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Нет" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Невозможно открыть книгу. Файл не существует или недоступен" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Метаданные обновлены" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Файл %(file)s загружен" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Исходный или целевой формат для конвертирования отсутствует" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Произошла ошибка при конвертирования этой книги: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s не допустимый язык" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Файл %(filename)s не удалось сохранить во временную папку" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Не удалось сохранить файл %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Формат файла %(ext)s добавлен в %(book)s" @@ -659,178 +659,204 @@ msgstr "Настройка Google Drive не завершена, попробу msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Не удалось проверить домен обратного вызова, пожалуйста, выполните шаги для проверки домена в консоли разработчика Google." -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s форма не найден для книги с id: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s не найден на Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s не найден: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Отправить на Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Это электронное письмо было отправлено через Caliber-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Тестовый e-mail для Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Тестовый e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Начать работу с Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Регистрационный e-mail для пользователя: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Преобразовать %(orig)s в %(format)s и отправить в Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Отправить %(format)s в Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Отправить на Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Запрашиваемый файл не может быть прочитан. Возможно у вас нет разрешения?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Файл %(file)s не найден на Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Путь книги %(path)s не найден на Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Это имя пользователя уже занято" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Не удалось создать путь для обложки." -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Обзор" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1117,7 +1143,7 @@ msgstr "" msgid "Advanced Search" msgstr "Расширенный поиск" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Указана неверная полка" @@ -1131,100 +1157,105 @@ msgstr "Извините, но вам не разрешено добавлять msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Книги уже размещены на полке: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Книга добавлена на книжную полку: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Книги уже размещены на полке: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Книги добавлены на полку: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Не удалось добавить книги на полку: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Книга удалена с полки: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Создать полку" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Извините, вы не можете удалить книгу с полки: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Изменить полку" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Метаданные обновлены" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Изменить расположение полки '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Создана полка %(title)s" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Колка %(title)s изменена" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Произошла ошибка" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Публичная полка с названием '%(title)s' уже существует." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Приватная полка с названием '%(title)s' уже существует." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Полка: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Ошибка открытия Полки. Полка не существует или недоступна" @@ -1397,12 +1428,12 @@ msgstr "Ваш e-mail не подходит для регистрации" msgid "Success! Confirmation Email has been sent." msgstr "Письмо с подтверждением отправлено вам на e-mail." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Не удается активировать LDAP аутентификацию" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1428,7 +1459,7 @@ msgstr "Ошибка в имени пользователя или пароле" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Новый пароль был отправлен на ваш адрес электронной почты" #: cps/web.py:1403 @@ -1465,46 +1496,46 @@ msgstr "Этот адрес электронной почты уже зарег msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Отправить на Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Ошибка Ebook-конвертора: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1516,11 +1547,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "изменить метаданные" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1681,7 +1716,7 @@ msgstr "Удалённый логин" msgid "Reverse Proxy Login" msgstr "Логин обратного прокси" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Имя заголовка обратного прокси" @@ -1781,13 +1816,13 @@ msgid "Are you sure you want to restart?" msgstr "Вы действительно хотите перезагрузить Calibre-Web?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1972,8 +2007,8 @@ msgstr "Просмотреть книгу после сохранения" msgid "Fetch Metadata" msgstr "Получить метаданные" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2140,27 +2175,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "Расположение базы данных Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Использовать Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Аутентификация Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Папка на Google Диске для Calibre" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID Канала Просмотра Метаданных" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Отозвано" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь." @@ -2222,259 +2261,263 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Разрешить загрузку на сервер" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Разрешить загрузку на сервер" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Разрешить анонимный просмотр" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Разрешить публичную регистрацию" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Включить удаленный логин (\"magic link\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Включить Kobo sync" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Неизвестный прокси запрос к Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Использовать Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Получить ключ API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Ключ API Goodreads" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Секрет" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Разрешить обратную аутентификацию прокси" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Тип входа" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Использовать стандартную аутентификацию" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Использовать LDAP аутентификацию" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Использовать OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Имя хоста или IP-адрес сервера LDAP" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Порт сервера LDAP" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "Шифрование LDAP" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "Аутентификация LDAP" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Анонимный" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Неаутентифицированный" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Простой" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Имя администратора LDAP" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Пароль администратора LDAP" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "Отличительное имя LDAP (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Фильтр объектов пользователя LDAP" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "Сервер LDAP - это OpenLDAP ?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Следующие настройки необходимы для импорта пользователем." -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Фильтр объектов группы LDAP" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Имя группы LDAP" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Поле членов группы LDAP" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Получить %(provider)s OAuth Credential" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth ID клиента" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Секрет клиента" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Конвертация" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Расположение бинарного файла Unrar" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Настройки OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Сбросить пароль пользователя" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/sk/LC_MESSAGES/messages.mo b/cps/translations/sk/LC_MESSAGES/messages.mo index b4467aa7..39318898 100644 Binary files a/cps/translations/sk/LC_MESSAGES/messages.mo and b/cps/translations/sk/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/sk/LC_MESSAGES/messages.po b/cps/translations/sk/LC_MESSAGES/messages.po index a183e00f..4ac197b4 100644 --- a/cps/translations/sk/LC_MESSAGES/messages.po +++ b/cps/translations/sk/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2023-11-01 06:12+0100\n" "Last-Translator: Branislav Hanáček \n" "Language: sk_SK\n" @@ -42,8 +42,8 @@ msgstr "Neznámy príkaz" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Úspech! Knihy boli zaradená do zálohovania metadát, skontrolujte si Úlohy na kontrolu" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Neznámy" @@ -86,7 +86,7 @@ msgstr "Zobraziť všetko" msgid "Malformed request" msgstr "Chybne vytvorená žiadosť" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Meno hosťa nie je možné zmeniť" @@ -94,7 +94,7 @@ msgstr "Meno hosťa nie je možné zmeniť" msgid "Guest can't have this role" msgstr "Hosť nemôže mať túto rolu" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Nezostáva žiadny správca, nie je možné odobrať rolu správcu" @@ -126,7 +126,7 @@ msgstr "Nebolo poskytnuté platné nastavenie jazyka" msgid "No Valid Book Language Given" msgstr "Nebolo poskytnuté platné jazykové nastavenie pre knihu" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter sa nenašiel" @@ -138,7 +138,7 @@ msgstr "Neplatný stĺpec na čítanie" msgid "Invalid Restricted Column" msgstr "Neplatný stĺpec na obmedzenie" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Konfigurácia Calibre-Web bola aktualizovaná" @@ -285,11 +285,11 @@ msgstr "Upraviť nastavenie pre poštový server" msgid "Success! Gmail Account Verified." msgstr "Úspech! Gmail konto bolo verifikované." -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Chyba databázy: %(error)s." @@ -328,7 +328,7 @@ msgstr "Bol uvedený neplatný doba behu" msgid "Scheduled tasks settings updated" msgstr "Nastavenia naplánovaných úloh boli aktualizované" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Vyskytla sa neočakávaná chyba. Prosím, skúste to opäť neskôr." @@ -336,7 +336,7 @@ msgstr "Vyskytla sa neočakávaná chyba. Prosím, skúste to opäť neskôr." msgid "Settings DB is not Writeable" msgstr "Nie je možné zapisovať do databázy nastavení" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Upraviť používateľa %(nick)s" @@ -444,65 +444,65 @@ msgstr "Umiestnenie databáze nie je platné, zadajte prosím správnu cestu" msgid "DB is not Writeable" msgstr "Do databázy nie je možné zapisovať" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie súboru s kľúčmi nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie súboru s certifikátmi nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "Heslo musí byť dlhé 1 až 40 znakov" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Nastavenia databáze boli aktualizované" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Konfigurácia databázy" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Vyplňte prosím všetky polia." -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-mail nie je z platnej domény" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Pridať nového používateľa" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Používateľ '%(user)s' bol vytvorený" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Účet s týmto menom alebo e-mailovou adresou už existuje." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Používateľ '%(nick)s' bol zmazaný" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Nie je možné zmazať používateľa Hosť" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Nezostáva žiadny používateľ, nie je možné odobrať rolu správcu" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "E-mailová adresa nemôže byť prázdna a musí byť platná" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Používateľ '%(nick)s' bol aktualizovaný" @@ -520,117 +520,117 @@ msgstr "Chýba právo na vykonanie" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Používateľom definovaný stĺpec č. %(column)d v Calibre databáze neexistuje" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Žiadne" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Vybraná kniha nie je dostupná. Súbor neexistuje alebo sa k nemu nedá pristupovať" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "Používateľ nemá práva nahrať obálku knihy" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikátory nerozlišujú malé a veľké písmená, prepisuje sa starý identifikátor" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadáta boli úspešne aktualizované" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "Chyba pri úprave knihy: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Súbor %(file)s bol nahraný" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Chýba zdrojový alebo cieľový formát pre prevod" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kniha bola úspešne zaradená na prevod do %(book_format)s" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Vyskytla sa chyba pri prevode tejto knihy: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Nahrávaná kniha pravdepodobne existuje v knižnici, zvážte zmenu pred nahraním novej: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' nie je platný jazyk" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Prípona súboru '%(ext)s' nemôže byť nahraná na tento server" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Súbor ktorý sa má nahrať musí mať príponu" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Súbor %(filename)s nebolo možné uložiť do dočasného adresára" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Zlyhal presun súboru obalky %(file)s: %(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Kniha s formátom bola úspešne zmazaná" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Kniha bola úspešne zmazaná" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "Nemáte oprávnenia na mazanie kníh" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "upraviť metadáta" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie je platné číslo, preskakuje sa" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "Používateľ nemá práva na nahranie dodatočných súborových formátov" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nebolo možné vytvoriť cestu %(path)s (Povolenie zamietnuté)." -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Zlyhalo uloženie súboru: %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Súborový formát %(ext)s bol pridaný k %(book)s" @@ -643,173 +643,201 @@ msgstr "Nastavenie Google Drive nie je dokončené, skúste deaktivovať a znovu msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Doména spätného volania nie je verifikovaná, prosím, vykonajte kroky na verifikáciu domény v konzole Google vývojára" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "Formát %(format)s sa nenašiel pre knihu s ID: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s sa nenašiel na Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s sa nenašiel: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "Poslať do čítačky" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "Tento e-mail bol odoslaný skrz Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "Testovací e-mail Calibre-Web" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "Testovací e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Začnite s aplikáciu Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "Registračný e-mail pre používateľa: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Previesť %(orig)s na %(format)s a odoslať do čítačky" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, python-format msgid "Send %(format)s to eReader" msgstr "Odoslať %(format)s do čítačky" -#: cps/helper.py:222 +#: cps/helper.py:225 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s odoslaná do čítačky" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Požadovaný súbor sa nedá čítať. Možne zlé oprávnenia?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "Status čítania nie je možné nastaviť: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Mazanie zložky pre knihu %(id)s zlyhalo, cesta má vnorené adresáre: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Mazanie knihy %(id)s zlyhalo: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Mazanie knihy %(id)s iba z databázy, cesta ku knihe v databáze nie je platná: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Premenovanie autora z: '%(src)s' na '%(dest)s' zlyhalo s chybou: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Súbor %(file)s sa nenašiel na Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmena názvu knihy z: '%(src)s' na '%(dest)s' zlyhalo s chybou: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "Chyba pri premenovaní v ceste: {}" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Cesta ku knihe %(path)s sa nenašla na Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "Pre túto poštovú adresu sa našiel existujúci účet" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Toto meno používateľa sa už používa" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "Neplatný formát poštovej adresy" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "Heslo nedodržiava pravidlá validácie" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python modul 'advocate' nie je nainštalovaný ale je potrebný pre nahrávanie obálok kníh" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Chyba pri sťahovaní obálky knihy" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Chyba formátu obálky knihy" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Nemáte povolené pristupovať na lokálneho hostiteľa alebo lokálnu sieť na pre nahrávanie obálok kníh" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Vytváranie cesty k obálke knihy zlyhalo" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Súbor obálky knihy nie je platný súbor s obrázkom alebo nie je uložený" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Ako súbor obálky knihy sú podporované iba súbory jpg/jpeg/png/webp/bmp" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "Neplatný obsah súboru obalky knihy" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Ako súbor obálky knihy sú podporované iba súbory jpg/jpeg" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Binárny súbor pre Unrar sa nenašiel" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "Chyba pri spustení Unrar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "Obálka knihy" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Binárny súbor pre Unrar sa nenašiel" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "Chyba pri spustení Unrar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "Do databázy nie je možné zapisovať" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Chýba právo na vykonanie" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Chyba pri spustení Unrar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Zaradiť všetky knihy na zálohovanie metadát" @@ -1086,7 +1114,7 @@ msgstr "Chyba pri čítaní používateľom definovaných stĺpcov, reštartujte msgid "Advanced Search" msgstr "Rozšírené hľadanie" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Vybraná neplatná polica" @@ -1099,98 +1127,103 @@ msgstr "Ľutujeme, do tejto police nemôžete pridať knihu" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Kniha je už na polici: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Kniha bola pridaná do police: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "Nemáte povolené pridať knihu do tejto police" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Táto polica už obssahuje knihu: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Do police sa pridala kniha: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Nemôžem pridať knihu do police: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Kniha bola odstránená z police: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Ľutujeme, ale nie ste oprávnený odstrániť knihu z tejto police" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Vytvoriť policu" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Ľutujeme, ale nie ste oprávnený upravovať túto policu" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Upraviť policu" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "Chyba pri mazaní police" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "Polica bol úspešne vymazaná" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Zmeniť poradie police: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Ľutujeme, ale nie ste oprávnený vytvoriť verejnú policu" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Polica %(title)s bola vytvorená" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Polica %(title)s bola zmenená" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Nastala chyba" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Verejná polica s názvom '%(title)s' už existuje." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Súkromná polica s názvom '%(title)s' už existuje." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Polica: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Chyba pri otváraní police. Polica neexistuje alebo je neprístupná" @@ -1361,11 +1394,11 @@ msgstr "Vaša e-mailová adresa nie je povolená." msgid "Success! Confirmation Email has been sent." msgstr "Úspech! Potvrdzujúci e-mail bol odoslaný." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "Nie je možné aktivovať LDAP autentifikáciu" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "Počkajte, prosím minútku pred opätovným prihlásením" @@ -1389,7 +1422,7 @@ msgid "Wrong Username or Password" msgstr "Nesprávne používateľské meno alebo heslo" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Na vašu e-mailovú adresu bolo odoslané nové heslo" #: cps/web.py:1403 @@ -1422,46 +1455,46 @@ msgstr "Účet s touto e-mailovou adresou už existuje." msgid "Found no valid gmail.json file with OAuth information" msgstr "Nenašiel sa súbor gmail.json s OAuth informáciou" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s bol odoslaný do čítačky" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Nástroj pre prevod ebook-convert %(tool)s sa nenašiel" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "Formát %(format)s sa nenachádza na disku" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "Prevádzač e-kníh zlyhal s neznámou chybou" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Prevádzač Kepubify zlyhal: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Prevádzaný súbor sa nenašiel alebo viac ako jeden súbor v zložke %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "Prevádzač e-kníh zlyhal: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre zlyhal s chybou: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "Previesť" @@ -1473,10 +1506,14 @@ msgstr "Spojenie s databázou sa znovu naväzuje" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "Zálohovať metadáta" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1636,7 +1673,7 @@ msgstr "Vzdialené prihlásenie Magic Link" msgid "Reverse Proxy Login" msgstr "Prihlásenie na reverznú proxy" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Meno hlavičky pre reverznú proxy" @@ -1735,13 +1772,13 @@ msgid "Are you sure you want to restart?" msgstr "Skutočne chcete reštartovať?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "V poriadku" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1926,8 +1963,8 @@ msgstr "Zobraziť knihu pri ukladaní" msgid "Fetch Metadata" msgstr "Načítať metadáta" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2091,27 +2128,31 @@ msgstr "Zlúčiť" msgid "Location of Calibre Database" msgstr "Umiestnenie databázy Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Používať Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentifikovať Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Calibre zložka na Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "ID kanála na sledovanie metadát" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Zrušiť" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Nové umiestnenie databáze nie je platné, zadajte prosím správnu cestu" @@ -2172,257 +2213,262 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "Previesť neanglické znaky v názve a mene autora počas ukladania na disk" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "Povoliť nahrávanie" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(Zaistite, prosím, že používateľ má tiež právo nahrávať)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Povolené formáty pre nahrávanie" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Povoliť anonymné prechádzanie" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Povoliť verejnú registráciu" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Použiť e-mailovú adresu ako meno používateľa" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Povoliť vzdialené prihlasovanie Magic Link" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Povoliť synchronizáciu Kobo" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy neznáme žiadosti na obchod Kobo" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Externý port servera (pre portovo preposielané API volania)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Použiť Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Vytvoriť kľúč API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API kľúč" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API tajomstvo" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Povoliť reverznú proxy autentifikáciu" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Typ prihlásenia" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Použiť štandardnú autentifikáciu" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Použiť LDAP autentifikáciu" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Použiť OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "Hostiteľské meno alebo IP adresa LDAP servera" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "Port LDAP servera" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP šifrovanie" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "Cesta k LDAP CA-certifikátu (potrebná iba pre autentifikáciu certifikátom klienta)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "Cesta k LDAP certifikátu (potrebná iba pre autentifikáciu certifikátom klienta)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "Cesta k LDAP súboru kľúča (potrebná iba pre autentifikáciu certifikátom klienta)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP autentifikácia" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonymný" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Neautentifikovaný" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Jednoduchý" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "Meno používateľa pre LDAP správcu" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "Heslo pre LDAP správcu" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP rozlišovacie meno (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "Filter pre LDAP objekt používateľa" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP server je OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Pre import používateľa sú potrebné nasledovné nastavenia" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "Filter pre LDAP objekt skupiny" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "Meno LDAP skupiny" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Pole členov LDAP skupiny" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "Detekcia filtra pre LDAP členstvo používateľa" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Automatická detekcia" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Filter používateľa" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "Filter pre LDAP členstvo požívateľa" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Získať OAuth prístupové údaje pre %(provider)s" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth klientské ID" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth klientské tajomstvo" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Externé binárky" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Cesta k Calibre prevádzaču e-kníh" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Nastavenie Calibre prevádzača e-kníh" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Cesta Kepubify prevádzaču e-kníh" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Binárny súbor pre Unrar sa nenašiel" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "Bezpečnostné nastavenia" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "Obmedziť neúspešné pokusy o prihlásenie" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "Ochrana sedenia" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "Základná" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "Silná" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "Zásady pre používateľské heslá" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "Minimálna dĺžka hesla" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "Vyžadovať číslo" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "Vyžadovať malé písmená" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "Vyžadovať veľké písmená" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "Vyžadovať špeciálne znaky" diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo index f5873c17..a22b2d70 100644 Binary files a/cps/translations/sv/LC_MESSAGES/messages.mo and b/cps/translations/sv/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/sv/LC_MESSAGES/messages.po b/cps/translations/sv/LC_MESSAGES/messages.po index 0510f7d6..90b979d9 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2021-05-13 11:00+0000\n" "Last-Translator: Jonatan Nyberg \n" "Language: sv\n" @@ -45,8 +45,8 @@ msgstr "Okänt kommando" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Testa e-post i kö för att skicka till %(email)s, vänligen kontrollera Uppgifter för resultat" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Okänd" @@ -89,7 +89,7 @@ msgstr "Visa alla" msgid "Malformed request" msgstr "Felaktig begäran" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Gästnamn kan inte ändras" @@ -97,7 +97,7 @@ msgstr "Gästnamn kan inte ändras" msgid "Guest can't have this role" msgstr "Gäst kan inte ha den här rollen" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratörsanvändare kvar, kan inte ta bort administratörsrollen" @@ -129,7 +129,7 @@ msgstr "Inget giltigt språk anges" msgid "No Valid Book Language Given" msgstr "Inget giltigt bokspråk anges" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Parameter hittades inte" @@ -142,7 +142,7 @@ msgstr "Ogiltig roll" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web konfiguration uppdaterad" @@ -292,11 +292,11 @@ msgstr "Ändra SMTP-inställningar" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasfel: %(error)s." @@ -335,7 +335,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ett okänt fel uppstod. Försök igen senare." @@ -343,7 +343,7 @@ msgstr "Ett okänt fel uppstod. Försök igen senare." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Redigera användaren %(nick)s" @@ -454,67 +454,67 @@ msgstr "DB-plats är inte giltig, vänligen ange rätt sökväg" msgid "DB is not Writeable" msgstr "DB är inte skrivbar" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Keyfile-platsen är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Certfile-platsen är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Funktion konfiguration" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Fyll i alla fält!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-posten är inte från giltig domän" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Lägg till ny användare" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Användaren '%(user)s' skapad" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Hittade ett befintligt konto för den här e-postadressen eller namnet." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Användaren '%(nick)s' borttagen" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Det går inte att ta bort gästanvändaren" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Användaren '%(nick)s' uppdaterad" @@ -532,117 +532,117 @@ msgstr "Körningstillstånd saknas" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Anpassad kolumn n.%(column)d finns inte i calibre-databasen" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ingen" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book 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:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifierare är inte skiftlägeskänsliga, skriver över gammal identifierare" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata uppdaterades" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "Filen %(file)s uppladdad" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Källa eller målformat för konvertering saknas" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det gick inte att konvertera den här boken: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s är inte ett giltigt språk" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Filen som ska laddas upp måste ha en ändelse" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, 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:773 +#: cps/editbooks.py:775 #, 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:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "Bokformat har tagits bort" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "Boken har tagits bort" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "redigera metadata" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, 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:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Det gick inte att lagra filen %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformatet %(ext)s lades till %(book)s" @@ -655,180 +655,208 @@ msgstr "Installationen av Google Drive är inte klar, försök att inaktivera oc msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Återuppringningsdomänen är inte verifierad, följ stegen för att verifiera domänen i Google utvecklarkonsol" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formatet hittades inte för bok-id: %(book)d" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s hittades inte på Google Drive: %(fn)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s hittades inte: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Skicka till Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Detta e-postmeddelande har skickats via Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-post" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Test e-post" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Kom igång med Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrera e-post för användare: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Konvertera %(orig)s till %(format)s och skicka till Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Skicka %(format)s till Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Skicka till Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Den begärda filen kunde inte läsas. Kanske fel behörigheter?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Borttagning av bokmapp för boken %(id)s misslyckades, sökvägen har undermappar: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Borttagning av boken %(id)s misslyckades: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Borttagning av boken %(id)s, boksökväg inte giltig: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Filen %(file)s hittades inte på Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Boksökvägen %(path)s hittades inte på Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Detta användarnamn är redan taget" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Ogiltigt e-postadressformat" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Fel vid hämtning av omslaget" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Fel på omslagsformat" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Det gick inte att skapa sökväg för omslag" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Omslagsfilen är inte en giltig bildfil eller kunde inte lagras" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Endast jpg/jpeg/png/webp/bmp-filer stöds som omslagsfil" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Endast jpg/jpeg-filer stöds som omslagsfil" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "Unrar binär fil hittades inte" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "Fel vid körning av UnRar" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Upptäck" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "Unrar binär fil hittades inte" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "Fel vid körning av UnRar" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "DB är inte skrivbar" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "Körningstillstånd saknas" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "Fel vid körning av UnRar" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1115,7 +1143,7 @@ msgstr "" msgid "Advanced Search" msgstr "Avancerad sökning" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Ogiltig hylla specificerad" @@ -1129,100 +1157,105 @@ msgstr "Tyvärr får du inte lägga till en bok på hyllan: %(shelfname)s" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "Boken är redan en del av hyllan: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Boken har lagts till i hyllan: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "Böcker är redan en del av hyllan: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Böcker har lagts till hyllan: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Kunde inte lägga till böcker till hyllan: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Boken har tagits bort från hyllan: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Skapa en hylla" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Tyvärr har du inte rätt att ta bort en bok från den här hyllan: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Redigera en hylla" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Boken har tagits bort" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Ändra ordning på hyllan: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Hyllan %(title)s skapad" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Hyllan %(title)s ändrad" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Det fanns ett fel" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "En offentlig hylla med namnet \"%(title)s\" finns redan." -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "En privat hylla med namnet \"%(title)s\" finns redan." -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylla: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Fel vid öppning av hyllan. Hylla finns inte eller är inte tillgänglig" @@ -1395,12 +1428,12 @@ msgstr "Din e-post är inte tillåten att registrera" msgid "Success! Confirmation Email has been sent." msgstr "Bekräftelsemail skickades till ditt e-postkonto." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "Det går inte att aktivera LDAP-autentisering" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1426,7 +1459,7 @@ msgstr "Fel användarnamn eller lösenord" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Nytt lösenord skickades till din e-postadress" #: cps/web.py:1403 @@ -1462,46 +1495,46 @@ msgstr "Hittade ett befintligt konto för den här e-postadressen" msgid "Found no valid gmail.json file with OAuth information" msgstr "Hittade ingen giltig gmail.json-fil med OAuth-information" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Skicka till Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "calibre e-bokkonverterings %(tool)s hittades inte" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "%(format)s-format hittades inte på disken" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "E-bokkonverteraren misslyckades med okänt fel" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-konverteraren misslyckades: %(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konverterad fil hittades inte eller mer än en fil i mappen %(folder)s" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "E-bokkonverteraren misslyckades: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "calibre misslyckades med fel: %(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1513,11 +1546,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "redigera metadata" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1679,7 +1716,7 @@ msgstr "Fjärrinloggning" msgid "Reverse Proxy Login" msgstr "Omvänd proxy inloggning" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Omvänt proxy rubriknamn" @@ -1779,13 +1816,13 @@ msgid "Are you sure you want to restart?" msgstr "Är du säker på att du vill starta om Calibre-Web?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1970,8 +2007,8 @@ msgstr "Visa bok vid Spara" msgid "Fetch Metadata" msgstr "Hämta metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2138,27 +2175,31 @@ msgstr "Slå samman" msgid "Location of Calibre Database" msgstr "Plats för Calibre-databasen" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Använda Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Autentisera Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre-mapp" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Titta på kanal ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Återkalla" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 #, fuzzy msgid "New db location is invalid, please enter valid path" msgstr "DB-plats är inte giltig, vänligen ange rätt sökväg" @@ -2220,259 +2261,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Aktivera uppladdning" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Aktivera uppladdning" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "Tillåtna filformat för uppladdning" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Aktivera anonym surfning" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Aktivera offentlig registrering" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "Använd e-post som användarnamn" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Aktivera fjärrinloggning (\"magisk länk\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "Aktivera Kobo sync" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "Proxy okänd begäran till Kobo Store" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "Extern port för server (för port vidarebefordrade API-anrop)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Använd Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Hämta en API-nyckel" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API-nyckel" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API-hemlighet" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Tillåt omvänd proxyautentisering" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Inloggningstyp" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "Använd standardautentisering" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "Använd LDAP-autentisering" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "Använd OAuth" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP-serverns värdnamn eller IP-adress" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP-serverport" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP-kryptering" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CACertificate-sökväg (behövs endast för autentisering av klientcertifikat)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP-certifikatsökväg (behövs endast för autentisering av klientcertifikat)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP-nyckelfilsökväg (behövs endast för autentisering av klientcertifikat)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP-autentisering" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Anonym" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "Oautentiserad" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "Enkel" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP-adminstratörsanvändarnamn" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP-adminstratörslösenord" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Distinguished Name (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP-användarobjektfilter" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP-server är OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "Följande inställningar behövs för användarimport" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP-gruppobjektfilter" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP-gruppnamn" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "Fält för LDAP-gruppmedlemmar" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP-användarfilterdetektering för medlemmar" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Upptäck automatiskt" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "Anpassat filter" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP-användarfilter för medlemmar" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "Skaffa %(provider)s OAuth-certifikat" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth-klient-id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth-klient-hemlighet" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Externa binärer" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Sökväg till calibre e-bokkonverterare" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Inställningar för calibre e-bokkonverterare" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Sökväg till Kepubify calibre e-bokkonverterare" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Plats för Unrar-binär" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth-inställningar" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Återställ användarlösenordet" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo index ea6e63b0..a3594e9d 100644 Binary files a/cps/translations/tr/LC_MESSAGES/messages.mo and b/cps/translations/tr/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/tr/LC_MESSAGES/messages.po b/cps/translations/tr/LC_MESSAGES/messages.po index 5e4ea0ef..9a4cd536 100644 --- a/cps/translations/tr/LC_MESSAGES/messages.po +++ b/cps/translations/tr/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-04-23 22:47+0300\n" "Last-Translator: iz \n" "Language: tr\n" @@ -45,8 +45,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "%(eReadermail)s'a gönderilmek üzere başarıyla sıraya alındı" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Bilinmeyen" @@ -89,7 +89,7 @@ msgstr "" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -97,7 +97,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -129,7 +129,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -141,7 +141,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web yapılandırması güncellendi" @@ -289,11 +289,11 @@ msgstr "" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -332,7 +332,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." @@ -340,7 +340,7 @@ msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "%(nick)s kullanıcısını düzenle" @@ -450,68 +450,68 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "E-posta sunucusu ayarları güncellendi" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Özellik Yapılandırması" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Lütfen tüm alanları doldurun!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "E-posta izin verilen bir servisten değil" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Yeni kullanıcı ekle" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "'%(user)s' kullanıcısı oluşturuldu" -#: cps/admin.py:1926 +#: cps/admin.py:1936 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Bu e-posta adresi veya kullanıcı adı için zaten bir hesap var." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Kullanıcı '%(nick)s' silindi" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "Başka yönetici kullanıcı olmadığından silinemedi" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "'%(nick)s' kullanıcısı güncellendi" @@ -529,117 +529,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Hiçbiri" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metaveri başarıyla güncellendi" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "%(file)s dosyası yüklendi" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 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:337 +#: cps/editbooks.py:339 #, 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:341 +#: cps/editbooks.py:343 #, 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" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 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:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s geçerli bir dil değil" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, 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:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "metaveri düzenle" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s dosyası kaydedilemedi." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi" @@ -652,178 +652,204 @@ msgstr "Google Drive kurulumu tamamlanmadı, Google Drive'ı devre dışı bıra msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Geri yönlendirme alanı (callback domain) doğrulanamadı, lütfen Google geliştirici konsolunda alan adını doğrulamak için gerekli adımları izleyin." -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(book)d nolu kitap için %(format)s biçimi bulunamadı" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(fn)s eKitabı için %(format)s biçimi Google Drive'da bulunamadı" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s bulunamadı: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Kindle'a gönder" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Bu e-Posta Calibre-Web ile gönderilmiştir." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web deneme e-Postası" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Deneme e-Postası" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Calibre-Web'i Kullanmaya Başlayın" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Kullanıcı Kayıt e-Postası: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s'dan %(format)s biçimine çevir ve Kindle'a gönder" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s biçimlerini Kindle'a gönder" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Kindle'a gönder" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "İstenilen dosya okunamadı. Yanlış izinlerden kaynaklanabilir?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "%(file)s dosyası Google Drive'da bulunamadı" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Bu kullanıcı adı zaten alındı" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Keşfet" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1109,7 +1135,7 @@ msgstr "" msgid "Advanced Search" msgstr "Gelişmiş Arama" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "Geçersiz kitaplık seçildi" @@ -1123,100 +1149,105 @@ msgstr "Maalesef bu kitaplığa eKitap eklemenize izin verilmiyor: %(shelfname)s msgid "Book is already part of the shelf: %(shelfname)s" msgstr "eKitap zaten bu kitaplıkta bulunuyor: %(shelfname)s" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "eKitap kitaplığa eklendi: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "eKitaplar zaten bu kitaplıkta bulunuyor: %(name)s" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "eKitaplar kitaplığa eklendi: %(sname)s" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "eKitaplar kitaplığa eklenemedi: %(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "eKitap kitaplıktan silindi: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Kitaplık oluştur" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Maalesef bu kitaplıktan eKitap silmenize izin verilmiyor: %(sname)s" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Kitaplığı düzenle" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "Metaveri başarıyla güncellendi" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Kitaplık sıralamasını değiştir: '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s kitaplığı oluşturuldu." -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s kitaplığı değiştirildi" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Bir hata oluştu" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Kitaplık: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Kitaplık açılırken hata oluştu. Kitaplık mevcut değil ya da erişilebilir değil" @@ -1388,12 +1419,12 @@ msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor" msgid "Success! Confirmation Email has been sent." msgstr "Onay e-Postası hesabınıza gönderildi." -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1419,7 +1450,7 @@ msgstr "Yanlış Kullanıcı adı ya da Şifre" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Yeni şifre e-Posta adresinize gönderildi" #: cps/web.py:1403 @@ -1456,46 +1487,46 @@ msgstr "Bu e-posta adresi için bir hesap mevcut." msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Kindle'a gönder" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "eKitap-Dönüştürücü hatası: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1507,11 +1538,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "metaveri düzenle" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1672,7 +1707,7 @@ msgstr "" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "Ters Proxy Header Adı" @@ -1772,13 +1807,13 @@ msgid "Are you sure you want to restart?" msgstr "" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1963,8 +1998,8 @@ msgstr "" msgid "Fetch Metadata" msgstr "" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2131,27 +2166,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Google Drive kullan?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Google Drive Doğrula" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre klasörü" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metaveri İzleme Kanalı ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Kaldır" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2212,259 +2251,263 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Goodreads kullan" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Anahtarı" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API şifresi" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "Ters Proxy Kimlik Doğrulamaya İzin Ver" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Giriş türü" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "LDAP Kimlik Doğrulama kullan" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "OAuth kullan" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP Sunucu adı veya IP Adresi" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP Sunucu Portu" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP Ayırt Edici Adı (DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP Sunucusu OpenLDAP kullanıyor?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "%(provider)s OAuth Kimlik Bilgisi Al" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth Client Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth Client Secret" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "Harici Uygulamalar" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrar aracı konumu" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth Ayarları" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Kullanıcı şifresini sıfırla" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo index a951b3b8..1f873fc1 100644 Binary files a/cps/translations/uk/LC_MESSAGES/messages.mo and b/cps/translations/uk/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po index dc11c40a..ddd15d3d 100644 --- a/cps/translations/uk/LC_MESSAGES/messages.po +++ b/cps/translations/uk/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n" "Last-Translator: ABIS Team \n" "Language: uk\n" @@ -43,8 +43,8 @@ msgstr "Невідома команда" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Невідомий" @@ -88,7 +88,7 @@ msgstr "Показати всі" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -96,7 +96,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -128,7 +128,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -140,7 +140,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "" @@ -291,11 +291,11 @@ msgstr "Змінити налаштування SMTP" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -334,7 +334,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" @@ -342,7 +342,7 @@ msgstr "" msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Змінити користувача %(nick)s" @@ -451,67 +451,67 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:1879 +#: cps/admin.py:1889 #, fuzzy msgid "Database Configuration" msgstr "Особливі налаштування" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Будь-ласка, заповніть всі поля!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Додати користувача" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Користувач '%(user)s' додан" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Користувача '%(nick)s' видалено" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Користувача '%(nick)s' оновлено" @@ -529,117 +529,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "Ні" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу." -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "Завантажувальний файл повинен мати розширення" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "змінити метадані" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -652,175 +652,201 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Домен зворотнього зв'язку не підтверджено. Виконайте дії для підтвердження домену, будь-ласка" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Відправити на Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Надіслати %(format)s до E-Reader" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Відправити на Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Огляд" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1106,7 +1132,7 @@ msgstr "" msgid "Advanced Search" msgstr "Розширений пошук" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "" @@ -1120,99 +1146,104 @@ msgstr "Вибачте, але у вас немає дозволу для вид msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Книга додана на книжкову полицю: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Книга видалена з книжкової полиці: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "створити книжкову полицю" -#: cps/shelf.py:218 +#: cps/shelf.py:226 #, fuzzy msgid "Sorry you are not allowed to edit this shelf" msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Змінити книжкову полицю" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Змінити розташування книжкової полиці '%(name)s'" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Створена книжкова полиця %(title)s" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Книжкова полиця %(title)s змінена" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Сталась помилка" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "Книжкова полиця: '%(name)s'" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Помилка при відкриванні полиці. Полиця не існує або до неї відсутній доступ" @@ -1384,11 +1415,11 @@ msgstr "" msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1413,7 +1444,7 @@ msgid "Wrong Username or Password" msgstr "Помилка в імені користувача або паролі" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "" #: cps/web.py:1403 @@ -1448,46 +1479,46 @@ msgstr "" msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "Відправити на Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1499,11 +1530,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "змінити метадані" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1664,7 +1699,7 @@ msgstr "" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1764,13 +1799,13 @@ msgid "Are you sure you want to restart?" msgstr "Впевнені що хочете перезавантажити?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1955,8 +1990,8 @@ msgstr "переглянути книгу після редагування" msgid "Fetch Metadata" msgstr "Отримати метадані" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2122,27 +2157,31 @@ msgstr "Обʼєднати" msgid "Location of Calibre Database" msgstr "Розташування БД Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Використовувати Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Автентифікація Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Папка Calibre в Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "Metadata Watch Channel ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Скасувати" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2203,259 +2242,263 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "Дозволити завантаження книг на сервер" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "Дозволити завантаження книг на сервер" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "Дозволити анонімний перегляд" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "Дозволити публічну реєстрацію" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "Включити віддалений логін (\"magic link\")" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Отримати ключ API" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Тип логіну" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "Анонім" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "Автовизначення" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Налаштування OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Скинути пароль користувача" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/vi/LC_MESSAGES/messages.mo b/cps/translations/vi/LC_MESSAGES/messages.mo index 5c9e3270..e26e3e55 100644 Binary files a/cps/translations/vi/LC_MESSAGES/messages.mo and b/cps/translations/vi/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/vi/LC_MESSAGES/messages.po b/cps/translations/vi/LC_MESSAGES/messages.po index 59f95fb6..5819ebeb 100644 --- a/cps/translations/vi/LC_MESSAGES/messages.po +++ b/cps/translations/vi/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2022-09-20 21:36+0700\n" "Last-Translator: Ha Link \n" "Language: vi\n" @@ -41,8 +41,8 @@ msgstr "Lệnh không tồn tại" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Không rõ" @@ -85,7 +85,7 @@ msgstr "Hiển thị tất cả" msgid "Malformed request" msgstr "Yêu cầu không đúng định dạng" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "Tên người dung khách không thể thay đổi" @@ -93,7 +93,7 @@ msgstr "Tên người dung khách không thể thay đổi" msgid "Guest can't have this role" msgstr "Khách không thể mang vai trò này" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "Không còn người dùng quản trị, không thể xoá vai trò admin" @@ -125,7 +125,7 @@ msgstr "Địa chỉ cung cấp không hợp lệ" msgid "No Valid Book Language Given" msgstr "Ngôn ngữ sách không hợp lệ" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "Tham số không tồn tại" @@ -137,7 +137,7 @@ msgstr "Cột đọc không hợp lệ" msgid "Invalid Restricted Column" msgstr "Cột bị hạn chế không hợp lệ" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Thiết lập Calibre-Web đã cập nhật" @@ -284,11 +284,11 @@ msgstr "" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Lỗi cơ sở dữ liệu: %(error)s." @@ -328,7 +328,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Lỗi không xác định xảy ra. Xin hãy thử lại sau." @@ -336,7 +336,7 @@ msgstr "Lỗi không xác định xảy ra. Xin hãy thử lại sau." msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "Chỉnh sửa người dùng %(nick)s" @@ -444,65 +444,65 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "Thiết lập cơ sở dữ lieu :)))" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "Hãy điền hết các trường!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "Địa chỉ email không hợp lệ" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "Thêm người dùng mới" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "Người dùng '%(user)s' đã được tạo" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "Người dùng với địa chỉ email hoặc tên đã tồn tại." -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "Người dùng '%(nick)s' đã bị xoá" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "Không thể xoá người dùng khách" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "Người dùng '%(nick)s' đã được cập nhật" @@ -520,117 +520,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "None" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "Metadata đã được cập nhật thành công" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "File %(file)s đã được tải lên" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "Thiếu định dạng nguồn hoặc đích để convert" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Có lỗi xảy ra khi chuyển đổi định dạng cho sach: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s không phải là ngôn ngữ hợp lệ" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "Lưu file thất bại %(file)s." -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -643,179 +643,205 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s không tìm thấy: %(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "Gửi tới Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "E-mail này được gửi từ Calibre-Web." -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-mail" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "Test e-mail" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "Bắt đầu với Calibre-Web" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Email đăng ký cho người dùng: %(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Chuyển đổi %(orig)s thành %(format)s và chuyển tới Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Gửi %(format)s tới Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s gửi tới Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "File được yêu cầu không thể đọc. Có thể do phân quyền bị sai?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Xoá thư mục cho sách %(id)s thất bại, đường dẫn có subfolders: %(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Xoá sách %(id)s thất bại: %(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "File %(file)s không tìm thấy trẻn Google Drive" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Không tìm thấy được dẫn sách %(path)s trên Google Drive" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "Username này đã bị sử dụng" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "Định dạng email address không hợp lệ" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "Lỗi tải xuống ảnh bìa" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "Định dạng ảnh bìa lỗi" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "Tạo đường dẫn cho ảnh bìa thất bại" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "Khám phá" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1101,7 +1127,7 @@ msgstr "" msgid "Advanced Search" msgstr "Tìm kiếm nâng cao" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "" @@ -1114,98 +1140,103 @@ msgstr "Xin lỗi bạn không có quyền thêm sách vào giá đó" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Sách đã được thêm vào giá: %(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Sách đã được xoá khỏi giá: %(sname)s" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Xin lỗi bạn không có quyền xoá sách khỏi giá này" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Tạo một giá sách" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "Xin lỗi bạn không có quyền chỉnh sửa giá sách này" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "Chỉnh sửa giá sách" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "Xin lỗi bạn không có quyền tạo một giá sách công khai" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "Giá sách %(title)s đã được tạo" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "Giá sách %(title)s đã được thay đổi" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "Có lỗi xảy ra" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" @@ -1378,11 +1409,11 @@ msgstr "Email của bạn không được cho phép để đăng ký" msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1408,7 +1439,7 @@ msgstr "Tên đăng nhập hoặc mật khẩu không đúng" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "Mật khẩu mới đã được gửi đến email của bạn" #: cps/web.py:1403 @@ -1444,46 +1475,46 @@ msgstr "Tìm thấy một tài khoản đã toàn tại cho địa chỉ email n msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s gửi tới Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 #, fuzzy msgid "Convert" msgstr "Khám phá" @@ -1498,10 +1529,14 @@ msgstr "Kết nối lại với cơ sở dữ liệu Calibre" msgid "E-mail" msgstr "Test e-mail" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1663,7 +1698,7 @@ msgstr "Đăng nhập bằng Magic Link" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1764,13 +1799,13 @@ msgid "Are you sure you want to restart?" msgstr "Bạn có chắc chắn muốn khởi động lại?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1955,8 +1990,8 @@ msgstr "Xem sách sau khi lưu" msgid "Fetch Metadata" msgstr "Fetch Metadata" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2120,27 +2155,31 @@ msgstr "Trộn" msgid "Location of Calibre Database" msgstr "Vị trí cơ sở dữ liệu của Calibre" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "Dùng Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "Xác thực Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Thư mục Calibre trên Google Drive" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "Thu hồi" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "Đường dẫn DB mới không hợp lệ, xin hãy nhập đường dẫn hợp lệ" @@ -2201,259 +2240,263 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "Sử dụng Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "Tạo API Key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "Kiểu đăng nhập" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "Thiết lập OAuth" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "Reset mật khẩu người dùng" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index 7309e7da..60df4456 100644 Binary files a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index dff01166..32accb40 100644 --- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hans_CN/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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_CN\n" @@ -42,8 +42,8 @@ msgstr "未知命令" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "成功!书籍已排队进行元数据备份,请检查任务列表以获取结果" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "未知" @@ -86,7 +86,7 @@ msgstr "显示全部" msgid "Malformed request" msgstr "格式错误的请求" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "访客名称无法更改" @@ -94,7 +94,7 @@ msgstr "访客名称无法更改" msgid "Guest can't have this role" msgstr "游客无法拥有此角色" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "没有其余管理员账户,无法删除管理员角色" @@ -126,7 +126,7 @@ msgstr "无可用本地化" msgid "No Valid Book Language Given" msgstr "无有效书籍语言" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "参数未找到" @@ -138,7 +138,7 @@ msgstr "无效的阅读栏目" msgid "Invalid Restricted Column" msgstr "无效的限制栏目" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 配置已更新" @@ -285,11 +285,11 @@ msgstr "编辑邮件服务器设置" msgid "Success! Gmail Account Verified." msgstr "Gmail 账户验证成功" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "数据库错误:%(error)s" @@ -328,7 +328,7 @@ msgstr "指定任务的持续时间无效" msgid "Scheduled tasks settings updated" msgstr "已更新计划任务设置" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试" @@ -336,7 +336,7 @@ msgstr "发生一个未知错误,请稍后再试" msgid "Settings DB is not Writeable" msgstr "设置数据库不可写" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" @@ -444,65 +444,65 @@ msgstr "数据库路径无效,请输入正确的路径" msgid "DB is not Writeable" msgstr "数据库不可写入" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密钥文件路径无效,请输入正确的路径" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "证书文件路径无效,请输入正确的路径" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "密码长度必须在1到40之间" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "数据库设置已更新" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "数据库配置" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "请填写所有字段!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "邮箱不在有效域中" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "添加新用户" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "用户“%(user)s”已创建" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此邮箱或用户名的账号已经存在" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户“%(nick)s”已删除" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "无法删除游客用户" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "管理员账户不存在,无法删除用户" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "电子邮件地址不能为空,并且必须是有效的电子邮件" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "用户“%(nick)s”已更新" @@ -520,117 +520,117 @@ msgstr "缺少执行权限" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "自定义列号:%(column)d 在 Calibre 数据库中不存在" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "无" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "用户没有权限上传封面" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "标识符不区分大小写,覆盖旧标识符" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "已成功更新元数据" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "编辑书籍时出错: {}" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上传" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "转换的源格式或目的格式缺失" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "书籍已经被成功加入 %(book_format)s 格式转换队列" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "转换此书籍时出现错误: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上传的书籍可能已经存在,建议修改后重新上传: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' 不是一种有效语言" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须具有扩展名" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 无法保存到临时目录" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移动封面文件失败 %(file)s:%(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "书籍的此格式副本已成功删除" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "书籍已成功删除" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "您没有删除书籍的权限" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "编辑元数据" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一个有效的数值,忽略" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "用户没有权限上传其他文件格式" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "创建路径 %(path)s 失败 (权限不足)" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -643,173 +643,201 @@ msgstr "Google Drive 设置未完成,请尝试停用并再次激活 Google 云 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "回调域名尚未被校验,请在 Google 开发者控制台按步骤校验域名" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到 ID 为 %(book)d 的书籍的 %(format)s 格式" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "发送到电子阅读器" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "此邮件已经通过 Calibre-Web 发送" -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "Calibre-Web 测试邮件" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "测试邮件" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "开启 Calibre-Web 之旅" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "用户注册电子邮件:%(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "转换 %(orig)s 到 %(format)s 并发送到电子阅读器" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, python-format msgid "Send %(format)s to eReader" msgstr "发送 %(format)s 到电子阅读器" -#: cps/helper.py:222 +#: cps/helper.py:225 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s 发送到电子阅读器" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "无法读取请求的文件。可能有错误的权限设置?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "阅读状态无法设置: {}" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "删除书的文件夹 %(id)s 失败,路径有子文件夹:%(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "删除书籍 %(id)s 失败:%(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "仅从数据库中删除书籍 %(id)s,数据库中的书籍路径无效: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "将作者从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive 上找不到文件 %(file)s" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "将标题从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "重命名此路径: {}文件时出错" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive 上找不到书籍路径 %(path)s" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "已存在使用此邮箱的账户" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "此用户名已被使用" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "无效的邮箱格式" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "密码不符合密码验证规则" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "上传封面所需的 Python 模块 'advocate' 未安装" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "下载封面时出错" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "封面格式出错" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "您没有访问本地主机或本地网络进行封面上传" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "创建封面路径失败" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的图片文件,或者无法存储它" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持 jpg、jpeg、png、webp、bmp 文件" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "封面文件内容无效" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "仅将 jpg、jpeg 文件作为封面文件" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "找不到 Unrar 执行文件" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "执行 UnRar 时出错" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "封面" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "找不到 Unrar 执行文件" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "执行 UnRar 时出错" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "数据库不可写入" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "缺少执行权限" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "执行 UnRar 时出错" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "将所有书籍加入元数据备份队列" @@ -1086,7 +1114,7 @@ msgstr "搜索自定义栏目时出错,请重启 Calibre-Web" msgid "Advanced Search" msgstr "高级搜索" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "指定的书架无效" @@ -1099,98 +1127,103 @@ msgstr "对不起,您没有添加书籍到这个书架的权限" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "此书籍已经是书架 %(shelfname)s 的一部分" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "此书籍已被添加到书架:%(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "您没有向书架添加书籍的权限" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "书籍已经在书架 %(name)s 中了" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "书籍已经被添加到书架 %(sname)s 中" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "无法添加书籍到书架:%(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "此书已从书架 %(sname)s 中删除" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "抱歉,您没有从这个书架删除书籍的权限" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "创建书架" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "对不起,您没有编辑这个书架的权限" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "编辑书架" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "删除书架时出错" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "书架已成功删除" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 %(name)s 顺序" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "抱歉,您没有创建公开书架的权限" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "书架 %(title)s 已创建" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "书架 %(title)s 已修改" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "发生错误" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共书架:%(title)s 已经存在已经存在" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "私有书架:%(title)s 已经存在已经存在" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架:%(name)s" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架不存在或不可访问" @@ -1361,11 +1394,11 @@ msgstr "您的电子邮件不允许注册" msgid "Success! Confirmation Email has been sent." msgstr "确认邮件已经发送到您的邮箱" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "无法激活 LDAP 认证" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "下次登录前请等待一分钟" @@ -1389,7 +1422,7 @@ msgid "Wrong Username or Password" msgstr "用户名或密码错误" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "新密码已发送到您的邮箱" #: cps/web.py:1403 @@ -1422,46 +1455,46 @@ msgstr "使用此邮箱的账号已经存在" msgid "Found no valid gmail.json file with OAuth information" msgstr "找不到包含 OAuth 信息的有效 gmail.json 文件" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s 发送到电子阅读器" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "Calibre 电子书转换器 %(tool)s 没有发现" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "硬盘上找不到 %(format)s 格式" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "发生未知错误,书籍转换失败" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 转换失败:%(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "找不到转换后的文件或文件夹 %(folder)s 中有多个文件" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "电子书转换器失败: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre 运行失败,错误信息:%(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "转换" @@ -1473,10 +1506,14 @@ msgstr "正在重新连接到 Calibre 数据库" msgid "E-mail" msgstr "电子邮件" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "正在备份元数据" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1636,7 +1673,7 @@ msgstr "魔法链接远程登录" msgid "Reverse Proxy Login" msgstr "反向代理登录" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "反向代理头部名称" @@ -1735,13 +1772,13 @@ msgid "Are you sure you want to restart?" msgstr "您确定要重启吗?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "确定" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1926,8 +1963,8 @@ msgstr "查看保存书籍" msgid "Fetch Metadata" msgstr "获取元数据" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2091,27 +2128,31 @@ msgstr "合并" msgid "Location of Calibre Database" msgstr "Calibre 数据库路径" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "是否使用 Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "认证 Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre 路径" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "元数据监视通道 ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "撤回" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "新数据库路径无效,请输入有效的路径" @@ -2172,257 +2213,262 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "保存到磁盘时转换标题和作者中的非英文字符" #: cps/templates/config_edit.html:108 +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" +msgstr "" + +#: cps/templates/config_edit.html:112 msgid "Enable Uploads" msgstr "启用上传" -#: cps/templates/config_edit.html:108 +#: cps/templates/config_edit.html:112 msgid "(Please ensure that users also have upload permissions)" msgstr "(请确保用户也有上传权限)" -#: cps/templates/config_edit.html:112 +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "允许上传的文件格式" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "允许匿名浏览" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "启用注册" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "使用邮箱或用户名" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "启用魔法链接远程登录" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "启用 Kobo 同步" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "代理未知请求到 Kobo 商店" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "服务器扩展端口 (用于转发的 API 调用的端口)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "使用 Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "创建 API Key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API Secret" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "允许反向代理认证方式" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "登录类型" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "使用标准认证" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "使用 LDAP 认证" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "使用 OAuth 认证" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP 服务器主机名或 IP 地址" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP 服务器端口" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP 加密" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS 协议" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL 协议" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CA证书路径 (仅用于客户端证书认证)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP 证书路径 (仅用于客户端证书认证)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP 密钥文件路径 (仅用于客户端证书认证)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP 验证方式" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "匿名" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "无验证" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "简单" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP 管理员用户名" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP 管理员密码" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP 专有名称(DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP 用户对象过滤器" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP 服务器为 OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "用户导入需要以下设置" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP 组对象过滤器" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP 组名" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP 组成员字段" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP 成员用户过滤器探测" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "自动检测" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "自定义过滤器" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP 成员用户过滤器" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "获取 %(provider)s OAuth 凭证" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth 客户端 Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth 客户端 Secret" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "扩展程序配置" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Calibre 电子书转换器路径" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre 电子书转换器设置" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "KEpubify 电子书转换器路径" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrar 程序路径" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "安全设置" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "限制失败的登录尝试" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "会话保护" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "基本" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "强" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "用户密码策略" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "最小密码长度" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "必须使用数字" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "必须使用小写字符" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "必须使用大写字符" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "必须使用特殊字符" diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo index 6c2ef935..fb75c95e 100644 Binary files a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po index 7c340a9b..60138565 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: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_TW\n" @@ -45,8 +45,8 @@ msgstr "未知命令" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "未知" @@ -89,7 +89,7 @@ msgstr "顯示全部" msgid "Malformed request" msgstr "格式錯誤的請求" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "訪客名稱無法更改" @@ -97,7 +97,7 @@ msgstr "訪客名稱無法更改" msgid "Guest can't have this role" msgstr "遊客無法擁有此角色" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "管理員賬戶不存在,無法刪除管理員角色" @@ -129,7 +129,7 @@ msgstr "無可用本地化" msgid "No Valid Book Language Given" msgstr "無有效書籍語言" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "參數未找到" @@ -141,7 +141,7 @@ msgstr "無效的閱讀列" msgid "Invalid Restricted Column" msgstr "無效的限制列" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" @@ -288,11 +288,11 @@ msgstr "編輯郵件服務器設置" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "數據庫錯誤:%(error)s。" @@ -331,7 +331,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "發生一個未知錯誤,請稍後再試。" @@ -339,7 +339,7 @@ msgstr "發生一個未知錯誤,請稍後再試。" msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "編輯用戶 %(nick)s" @@ -449,66 +449,66 @@ msgstr "數據庫路徑無效,請輸入正確的路徑" msgid "DB is not Writeable" msgstr "數據庫不可寫入" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密鑰文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "證書文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 #, fuzzy msgid "Database Settings updated" msgstr "郵件服務器設置已更新" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "數據庫配置" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "請填寫所有欄位!" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "郵箱不在有效網域中" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "添加新用戶" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "用戶“%(user)s”已創建" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此郵箱或用戶名的賬號已經存在。" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "用戶“%(nick)s”已刪除" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "無法刪除訪客用戶" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "管理員賬戶不存在,無法刪除用戶" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "用戶“%(nick)s”已更新" @@ -526,117 +526,117 @@ msgstr "缺少執行權限" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "自定義列號:%(column)d在Calibre數據庫中不存在" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "無" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "標識符不區分大小寫,覆蓋舊標識符" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "已成功更新元數據" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上傳" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "轉換的來源或目的格式不存在" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "書籍已經被成功加入到 %(book_format)s 格式轉換隊列" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "轉換此書籍時出現錯誤: %(res)s" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上傳的書籍可能已經存在,建議修改後重新上傳: " -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s 不是一種有效語言" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "要上傳的文件必須具有附檔名" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 無法保存到臨時目錄" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移動封面文件失敗 %(file)s:%(error)s" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "書籍格式已成功刪除" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "書籍已成功刪除" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "編輯元數據" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一個有效的數值,忽略" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "創建路徑 %(path)s 失敗(權限拒絕)。" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失敗。" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -649,180 +649,208 @@ msgstr "Google Drive 設置未完成,請嘗試停用並再次激活Google雲 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "回調網域名稱尚未被驗證,請在google開發者控制台按步驟驗證網域名稱" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到id為 %(book)d 的書籍的 %(format)s 格式" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 #, fuzzy msgid "Send to eReader" msgstr "發送到Kindle" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "此郵件已經通過Calibre-Web發送。" -#: cps/helper.py:115 +#: cps/helper.py:118 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web測試郵件" -#: cps/helper.py:116 +#: cps/helper.py:119 #, fuzzy msgid "Test Email" msgstr "測試郵件" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "開啟Calibre-Web之旅" -#: cps/helper.py:138 +#: cps/helper.py:141 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "用戶註冊電子郵件:%(name)s" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "轉換 %(orig)s 到 %(format)s 並發送到Kindle" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "發送 %(format)s 到Kindle" -#: cps/helper.py:222 +#: cps/helper.py:225 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s發送到Kindle" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "無法讀取請求的文件。可能有錯誤的權限設置?" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "刪除書的文件夾%(id)s失敗,路徑有子文件夾:%(path)s" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "刪除書籍 %(id)s失敗:%(message)s" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "僅從數據庫中刪除書籍 %(id)s,數據庫中的書籍路徑無效: %(path)s" -#: cps/helper.py:447 +#: cps/helper.py:450 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找不到文件 %(file)s" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到書籍路徑 %(path)s" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "此用戶名已被使用" -#: cps/helper.py:685 +#: cps/helper.py:688 #, fuzzy msgid "Invalid Email address format" msgstr "無效的郵件地址格式" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "下載封面時出錯" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "封面格式出錯" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "創建封面路徑失敗" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的圖片文件,或者無法儲存" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持jpg/jpeg/png/webp/bmp格式文件" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "僅將jpg、jpeg文件作為封面文件" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "找不到Unrar執行文件" - -#: cps/helper.py:984 -#, fuzzy -msgid "Error executing UnRar" -msgstr "執行UnRar時出錯" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 #, fuzzy msgid "Cover" msgstr "發現" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "找不到Unrar執行文件" + +#: cps/helper.py:1043 +#, fuzzy +msgid "Error executing UnRar" +msgstr "執行UnRar時出錯" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +#, fuzzy +msgid "Calibre binaries not viable" +msgstr "數據庫不可寫入" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, fuzzy, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "缺少執行權限" + +#: cps/helper.py:1084 +#, fuzzy +msgid "Error excecuting Calibre" +msgstr "執行UnRar時出錯" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1109,7 +1137,7 @@ msgstr "搜詢自定義欄位時出錯,請重啟 Calibre-Web" msgid "Advanced Search" msgstr "進階搜尋" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "指定的書架無效" @@ -1122,99 +1150,104 @@ msgstr "對不起,您沒有添加書籍到這個書架的權限" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "此書籍已經是書架 %(shelfname)s 的一部分" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "此書籍已被添加到書架:%(sname)s" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "書籍已經在書架 %(name)s 中了" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "書籍已經被添加到書架 %(sname)s 中" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "無法添加書籍到書架:%(sname)s" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "此書已從書架 %(sname)s 中刪除" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "創建書架" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "對不起,您沒有編輯這個書架的權限" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "編輯書架" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 #, fuzzy msgid "Shelf successfully deleted" msgstr "書籍已成功刪除" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改書架 %(name)s 順序" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "書架 %(title)s 已創建" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "書架 %(title)s 已修改" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "發生錯誤" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共書架:%(title)s已經存在已經存在。" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "私有書架:%(title)s已經存在。" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "書架:%(name)s" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打開書架出錯。書架不存在或不可訪問" @@ -1387,12 +1420,12 @@ msgstr "您的電子郵件不允許註冊" msgid "Success! Confirmation Email has been sent." msgstr "確認郵件已經發送到您的郵箱。" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 #, fuzzy msgid "Cannot activate LDAP authentication" msgstr "無法激活LDAP認證" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1418,7 +1451,7 @@ msgstr "用戶名或密碼錯誤" #: cps/web.py:1399 #, fuzzy -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "新密碼已發送到您的郵箱" #: cps/web.py:1403 @@ -1454,46 +1487,46 @@ msgstr "使用此郵箱的賬號已經存在。" msgid "Found no valid gmail.json file with OAuth information" msgstr "找不到包含 OAuth 信息的有效 gmail.json 文件" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, fuzzy, python-format msgid "%(book)s send to E-Reader" msgstr "%(book)s發送到Kindle" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "沒有發現Calibre 電子書轉換器%(tool)s" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "硬碟上找不到 %(format)s 格式" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "發生未知錯誤,書籍轉換失敗" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 轉換失敗:%(error)s" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "找不到轉換後的文件或文件夾%(folder)s中有多個文件" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "電子書轉換器失敗: %(error)s" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "Calibre 運行失敗,錯誤信息:%(error)s" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1505,11 +1538,15 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 #, fuzzy msgid "Backing up Metadata" msgstr "編輯元數據" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1671,7 +1708,7 @@ msgstr "魔法連接遠程登錄" msgid "Reverse Proxy Login" msgstr "反向代理登入" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "反向代理標頭名稱" @@ -1770,13 +1807,13 @@ msgid "Are you sure you want to restart?" msgstr "您確定要重啟嗎?" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "確定" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1961,8 +1998,8 @@ msgstr "查看保存書籍" msgid "Fetch Metadata" msgstr "獲取元數據" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2129,27 +2166,31 @@ msgstr "合併" msgid "Location of Calibre Database" msgstr "Calibre 數據庫路徑" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "是否使用Google Drive?" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "驗證 Google Drive" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "Google Drive Calibre 目錄路徑" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "元數據監視通道ID" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "撤回" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "新數據庫路徑無效,請輸入有效的路徑" @@ -2210,259 +2251,264 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "儲存到硬碟時同步轉換書名與作者中的非英語字元" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "啟用上傳" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "啟用上傳" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "允許上傳的文件格式" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "允許匿名瀏覽" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "啟用註冊" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "使用郵箱或用戶名" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "啟用魔法連接遠程登入" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "啟用Kobo同步" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "代理未知請求到Kobo商店" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "伺服器擴展端口(用於轉發的API調用的端口)" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "使用Goodreads" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "創建API Key" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "Goodreads API Key" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "Goodreads API 密鑰" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "允許反向代理認證方式" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "登入類型" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "使用標準認證" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "使用LDAP認證" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "使用OAuth認證" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "LDAP服務器主機名或IP地址" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "LDAP伺服器端口" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "LDAP 加密" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "TLS協議" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "SSL協議" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP CA證書路徑(僅用於客戶端證書認證)" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "LDAP 證書路徑(僅用於客戶端證書認證)" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "LDAP密鑰文件路徑(僅用於客戶端證書認證)" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "LDAP 驗證方式" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "匿名" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "無驗證" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "簡單" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "LDAP管理員用戶名" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "LDAP管理員密碼" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "LDAP專有名稱(DN)" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "LDAP用戶對象過濾器" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "LDAP伺服器是 OpenLDAP?" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "用戶導入需要以下設置" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "LDAP群組對象過濾器" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "LDAP群組名" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "LDAP群組成員欄位" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "LDAP成員用戶過濾器檢測" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "自動檢測" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "自定義過濾器" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "LDAP成員用戶過濾器" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "獲取 %(provider)s OAuth憑證" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "%(provider)s OAuth 客戶端Id" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "%(provider)s OAuth 客戶端密鑰" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "擴展程序配置" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +#, fuzzy +msgid "Path to Calibre Binaries" msgstr "Calibre 電子書轉換器路徑" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "Calibre 電子書轉換器設置" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "Kepubify 電子書轉換器路徑" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "Unrar程序路徑" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 #, fuzzy msgid "Security Settings" msgstr "OAuth設置" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 #, fuzzy msgid "User Password policy" msgstr "重置用戶密碼" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/cps/web.py b/cps/web.py index 24c5cacd..68b9bbc5 100644 --- a/cps/web.py +++ b/cps/web.py @@ -613,10 +613,9 @@ def render_ratings_books(page, book_id, order): db_filter, [order[0][0]], True, config.config_read_column, - db.books_series_link, - db.Books.id == db.books_series_link.c.book, - db.Series, - db.books_ratings_link, db.Ratings) + db.books_ratings_link, + db.Books.id == db.books_ratings_link.c.book, + db.Ratings) title = _("Rating: None") else: name = calibre_db.session.query(db.Ratings).filter(db.Ratings.id == book_id).first() @@ -634,19 +633,32 @@ def render_ratings_books(page, book_id, order): def render_formats_books(page, book_id, order): - name = calibre_db.session.query(db.Data).filter(db.Data.format == book_id.upper()).first() - if name: + if book_id == '-1': + name = _("None") entries, random, pagination = calibre_db.fill_indexpage(page, 0, db.Books, - db.Books.data.any(db.Data.format == book_id.upper()), + db.Data.format == None, [order[0][0]], - True, config.config_read_column) - return render_title_template('index.html', random=random, pagination=pagination, entries=entries, id=book_id, - title=_("File format: %(format)s", format=name.format), - page="formats", - order=order[1]) + True, config.config_read_column, + db.Data) + else: - abort(404) + name = calibre_db.session.query(db.Data).filter(db.Data.format == book_id.upper()).first() + if name: + name = name.format + entries, random, pagination = calibre_db.fill_indexpage(page, 0, + db.Books, + db.Books.data.any( + db.Data.format == book_id.upper()), + [order[0][0]], + True, config.config_read_column) + else: + abort(404) + + return render_title_template('index.html', random=random, pagination=pagination, entries=entries, id=book_id, + title=_("File format: %(format)s", format=name), + page="formats", + order=order[1]) def render_category_books(page, book_id, order): @@ -1057,7 +1069,7 @@ def ratings_list(): @login_required_if_no_ano def formats_list(): if current_user.check_visibility(constants.SIDEBAR_FORMAT): - if current_user.get_view_property('ratings', 'dir') == 'desc': + if current_user.get_view_property('formats', 'dir') == 'desc': order = db.Data.format.desc() order_no = 0 else: @@ -1322,7 +1334,7 @@ def handle_login_user(user, remember, message, category): ub.store_user_session() flash(message, category=category) [limiter.limiter.storage.clear(k.key) for k in limiter.current_limits] - return redirect_back(url_for("web.index")) + return redirect_back("web.index") def render_login(username="", password=""): @@ -1396,7 +1408,7 @@ def login_post(): if user is not None and user.name != "Guest": ret, __ = reset_password(user.id) if ret == 1: - flash(_(u"New Password was send to your email address"), category="info") + flash(_(u"New Password was sent to your email address"), category="info") log.info('Password reset for user "%s" IP-address: %s', username, ip_address) else: log.error(u"An unknown error occurred. Please try again later") diff --git a/messages.pot b/messages.pot index c683f205..4acb1046 100644 --- a/messages.pot +++ b/messages.pot @@ -1,14 +1,14 @@ # Translations template for PROJECT. -# Copyright (C) 2023 ORGANIZATION +# Copyright (C) 2024 ORGANIZATION # This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2023. +# FIRST AUTHOR , 2024. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-12-21 13:31+0100\n" +"POT-Creation-Date: 2024-02-10 10:06+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,8 +41,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:206 cps/editbooks.py:587 cps/editbooks.py:589 -#: cps/editbooks.py:627 cps/editbooks.py:644 cps/editbooks.py:1256 +#: cps/admin.py:206 cps/editbooks.py:589 cps/editbooks.py:591 +#: cps/editbooks.py:629 cps/editbooks.py:646 cps/editbooks.py:1262 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "" @@ -85,7 +85,7 @@ msgstr "" msgid "Malformed request" msgstr "" -#: cps/admin.py:470 cps/admin.py:2023 +#: cps/admin.py:470 cps/admin.py:2033 msgid "Guest Name can't be changed" msgstr "" @@ -93,7 +93,7 @@ msgstr "" msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:494 cps/admin.py:1977 +#: cps/admin.py:494 cps/admin.py:1987 msgid "No admin user remaining, can't remove admin role" msgstr "" @@ -125,7 +125,7 @@ msgstr "" msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:534 cps/editbooks.py:453 +#: cps/admin.py:534 cps/editbooks.py:455 msgid "Parameter not found" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:597 cps/admin.py:1848 +#: cps/admin.py:597 cps/admin.py:1858 msgid "Calibre-Web configuration updated" msgstr "" @@ -284,11 +284,11 @@ msgstr "" msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1832 -#: cps/admin.py:1930 cps/admin.py:2051 cps/editbooks.py:239 -#: cps/editbooks.py:315 cps/editbooks.py:1218 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:346 -#: cps/shelf.py:460 cps/tasks/convert.py:136 cps/web.py:1496 +#: cps/admin.py:1313 cps/admin.py:1316 cps/admin.py:1698 cps/admin.py:1842 +#: cps/admin.py:1940 cps/admin.py:2061 cps/editbooks.py:241 +#: cps/editbooks.py:317 cps/editbooks.py:1224 cps/shelf.py:90 cps/shelf.py:150 +#: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 +#: cps/shelf.py:468 cps/tasks/convert.py:149 cps/web.py:1496 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" @@ -327,7 +327,7 @@ msgstr "" msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2047 cps/web.py:1296 +#: cps/admin.py:1390 cps/admin.py:1439 cps/admin.py:2057 cps/web.py:1296 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" @@ -335,7 +335,7 @@ msgstr "" msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1424 cps/admin.py:2039 +#: cps/admin.py:1424 cps/admin.py:2049 #, python-format msgid "Edit User %(nick)s" msgstr "" @@ -443,65 +443,65 @@ msgstr "" msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1743 +#: cps/admin.py:1746 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1747 +#: cps/admin.py:1750 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1819 +#: cps/admin.py:1829 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1871 +#: cps/admin.py:1881 msgid "Database Settings updated" msgstr "" -#: cps/admin.py:1879 +#: cps/admin.py:1889 msgid "Database Configuration" msgstr "" -#: cps/admin.py:1894 cps/web.py:1270 +#: cps/admin.py:1904 cps/web.py:1270 msgid "Oops! Please complete all fields." msgstr "" -#: cps/admin.py:1903 +#: cps/admin.py:1913 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1909 +#: cps/admin.py:1919 msgid "Add new user" msgstr "" -#: cps/admin.py:1920 +#: cps/admin.py:1930 #, python-format msgid "User '%(user)s' created" msgstr "" -#: cps/admin.py:1926 +#: cps/admin.py:1936 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1956 +#: cps/admin.py:1966 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:1959 +#: cps/admin.py:1969 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1962 +#: cps/admin.py:1972 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2017 cps/web.py:1445 +#: cps/admin.py:2027 cps/web.py:1445 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2043 +#: cps/admin.py:2053 #, python-format msgid "User '%(nick)s' updated" msgstr "" @@ -519,117 +519,117 @@ msgstr "" msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:993 cps/templates/config_edit.html:204 +#: cps/db.py:993 cps/templates/config_edit.html:208 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 #: cps/web.py:558 cps/web.py:592 cps/web.py:665 cps/web.py:692 cps/web.py:973 #: cps/web.py:1003 cps/web.py:1048 cps/web.py:1076 cps/web.py:1115 msgid "None" msgstr "" -#: cps/editbooks.py:120 cps/editbooks.py:908 cps/web.py:525 cps/web.py:1537 +#: cps/editbooks.py:122 cps/editbooks.py:910 cps/web.py:525 cps/web.py:1537 #: cps/web.py:1581 cps/web.py:1626 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:164 cps/editbooks.py:1239 +#: cps/editbooks.py:166 cps/editbooks.py:1245 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:184 cps/editbooks.py:729 +#: cps/editbooks.py:186 cps/editbooks.py:731 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:226 +#: cps/editbooks.py:228 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:244 +#: cps/editbooks.py:246 msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:301 +#: cps/editbooks.py:303 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:329 +#: cps/editbooks.py:331 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:337 +#: cps/editbooks.py:339 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:341 +#: cps/editbooks.py:343 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:648 +#: cps/editbooks.py:650 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:703 cps/editbooks.py:1031 +#: cps/editbooks.py:705 cps/editbooks.py:1037 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:741 cps/editbooks.py:1179 +#: cps/editbooks.py:743 cps/editbooks.py:1185 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:745 cps/editbooks.py:1183 +#: cps/editbooks.py:747 cps/editbooks.py:1189 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:753 +#: cps/editbooks.py:755 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:775 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:830 cps/editbooks.py:832 +#: cps/editbooks.py:832 cps/editbooks.py:834 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:839 cps/editbooks.py:841 +#: cps/editbooks.py:841 cps/editbooks.py:843 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:893 +#: cps/editbooks.py:895 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:943 +#: cps/editbooks.py:945 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:992 +#: cps/editbooks.py:994 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1174 +#: cps/editbooks.py:1180 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1195 +#: cps/editbooks.py:1201 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1200 +#: cps/editbooks.py:1206 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1224 +#: cps/editbooks.py:1230 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -642,173 +642,199 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:88 cps/tasks/convert.py:75 +#: cps/helper.py:91 cps/tasks/convert.py:86 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:93 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:58 +#: cps/helper.py:101 cps/helper.py:226 cps/templates/detail.html:58 msgid "Send to eReader" msgstr "" -#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 +#: cps/helper.py:102 cps/helper.py:120 cps/helper.py:228 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:118 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:116 +#: cps/helper.py:119 msgid "Test Email" msgstr "" -#: cps/helper.py:133 +#: cps/helper.py:136 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:138 +#: cps/helper.py:141 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:149 cps/helper.py:155 +#: cps/helper.py:152 cps/helper.py:158 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 +#: cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 #, python-format msgid "Send %(format)s to eReader" msgstr "" -#: cps/helper.py:222 +#: cps/helper.py:225 #, python-format msgid "%(book)s send to eReader" msgstr "" -#: cps/helper.py:227 +#: cps/helper.py:230 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:342 +#: cps/helper.py:345 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:365 +#: cps/helper.py:368 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:371 +#: cps/helper.py:374 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:382 +#: cps/helper.py:385 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:447 +#: cps/helper.py:450 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:519 cps/helper.py:528 +#: cps/helper.py:522 cps/helper.py:531 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:562 +#: cps/helper.py:565 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:582 +#: cps/helper.py:585 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:600 +#: cps/helper.py:603 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:668 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:673 +#: cps/helper.py:676 msgid "This username is already taken" msgstr "" -#: cps/helper.py:685 +#: cps/helper.py:688 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:703 +#: cps/helper.py:706 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:852 +#: cps/helper.py:855 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:862 +#: cps/helper.py:865 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:865 +#: cps/helper.py:868 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:871 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:878 +#: cps/helper.py:881 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:894 +#: cps/helper.py:897 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:905 +#: cps/helper.py:908 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:917 +#: cps/helper.py:920 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:921 +#: cps/helper.py:924 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:973 -msgid "Unrar binary file not found" -msgstr "" - -#: cps/helper.py:984 -msgid "Error executing UnRar" -msgstr "" - -#: cps/helper.py:1077 +#: cps/helper.py:995 cps/helper.py:1183 msgid "Cover" msgstr "" -#: cps/helper.py:1079 cps/templates/admin.html:216 +#: cps/helper.py:1032 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/helper.py:1043 +msgid "Error executing UnRar" +msgstr "" + +#: cps/helper.py:1051 +msgid "Could not find the specified directory" +msgstr "" + +#: cps/helper.py:1054 +msgid "Please specify a directory, not a file" +msgstr "" + +#: cps/helper.py:1068 +msgid "Calibre binaries not viable" +msgstr "" + +#: cps/helper.py:1077 +#, python-format +msgid "Missing calibre binaries: %(missing)s" +msgstr "" + +#: cps/helper.py:1079 +#, python-format +msgid "Missing executable permissions: %(missing)s" +msgstr "" + +#: cps/helper.py:1084 +msgid "Error excecuting Calibre" +msgstr "" + +#: cps/helper.py:1185 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -1085,7 +1111,7 @@ msgstr "" msgid "Advanced Search" msgstr "" -#: cps/shelf.py:49 cps/shelf.py:103 +#: cps/shelf.py:49 cps/shelf.py:111 msgid "Invalid shelf specified" msgstr "" @@ -1098,98 +1124,103 @@ msgstr "" msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:89 +#: cps/shelf.py:77 +#, python-format +msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" +msgstr "" + +#: cps/shelf.py:97 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:108 +#: cps/shelf.py:116 msgid "You are not allowed to add a book to the shelf" msgstr "" -#: cps/shelf.py:126 +#: cps/shelf.py:134 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:138 +#: cps/shelf.py:146 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:145 +#: cps/shelf.py:153 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:191 +#: cps/shelf.py:199 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "" -#: cps/shelf.py:200 +#: cps/shelf.py:208 msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:157 +#: cps/shelf.py:218 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "" -#: cps/shelf.py:218 +#: cps/shelf.py:226 msgid "Sorry you are not allowed to edit this shelf" msgstr "" -#: cps/shelf.py:220 +#: cps/shelf.py:228 msgid "Edit a shelf" msgstr "" -#: cps/shelf.py:229 +#: cps/shelf.py:237 msgid "Error deleting Shelf" msgstr "" -#: cps/shelf.py:231 +#: cps/shelf.py:239 msgid "Shelf successfully deleted" msgstr "" -#: cps/shelf.py:281 +#: cps/shelf.py:289 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:316 +#: cps/shelf.py:324 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:341 #, python-format msgid "Shelf %(title)s created" msgstr "" -#: cps/shelf.py:336 +#: cps/shelf.py:344 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/shelf.py:350 +#: cps/shelf.py:358 msgid "There was an error" msgstr "" -#: cps/shelf.py:372 +#: cps/shelf.py:380 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:383 +#: cps/shelf.py:391 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:465 +#: cps/shelf.py:473 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:469 +#: cps/shelf.py:477 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" @@ -1360,11 +1391,11 @@ msgstr "" msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1348 cps/web.py:1366 +#: cps/web.py:1348 cps/web.py:1367 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1360 +#: cps/web.py:1361 msgid "Please wait one minute before next login" msgstr "" @@ -1388,7 +1419,7 @@ msgid "Wrong Username or Password" msgstr "" #: cps/web.py:1399 -msgid "New Password was send to your email address" +msgid "New Password was sent to your email address" msgstr "" #: cps/web.py:1403 @@ -1421,46 +1452,46 @@ msgstr "" msgid "Found no valid gmail.json file with OAuth information" msgstr "" -#: cps/tasks/convert.py:92 +#: cps/tasks/convert.py:105 #, python-format msgid "%(book)s send to E-Reader" msgstr "" -#: cps/tasks/convert.py:153 +#: cps/tasks/convert.py:166 #, python-format msgid "Calibre ebook-convert %(tool)s not found" msgstr "" -#: cps/tasks/convert.py:186 +#: cps/tasks/convert.py:200 #, python-format msgid "%(format)s format not found on disk" msgstr "" -#: cps/tasks/convert.py:190 +#: cps/tasks/convert.py:204 msgid "Ebook converter failed with unknown error" msgstr "" -#: cps/tasks/convert.py:202 +#: cps/tasks/convert.py:223 #, python-format msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:224 +#: cps/tasks/convert.py:244 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" -#: cps/tasks/convert.py:247 +#: cps/tasks/convert.py:279 #, python-format msgid "Ebook-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:270 +#: cps/tasks/convert.py:302 #, python-format msgid "Calibre failed with error: %(error)s" msgstr "" -#: cps/tasks/convert.py:275 +#: cps/tasks/convert.py:307 msgid "Convert" msgstr "" @@ -1472,10 +1503,14 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:46 +#: cps/tasks/metadata_backup.py:33 msgid "Backing up Metadata" msgstr "" +#: cps/tasks/tempFolder.py:28 +msgid "Delete temp folder contents" +msgstr "" + #: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" @@ -1635,7 +1670,7 @@ msgstr "" msgid "Reverse Proxy Login" msgstr "" -#: cps/templates/admin.html:154 cps/templates/config_edit.html:173 +#: cps/templates/admin.html:154 cps/templates/config_edit.html:177 msgid "Reverse Proxy Header Name" msgstr "" @@ -1734,13 +1769,13 @@ msgid "Are you sure you want to restart?" msgstr "" #: cps/templates/admin.html:258 cps/templates/admin.html:272 -#: cps/templates/admin.html:292 cps/templates/config_db.html:70 +#: cps/templates/admin.html:292 cps/templates/config_db.html:82 msgid "OK" msgstr "" #: cps/templates/admin.html:259 cps/templates/admin.html:273 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 -#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 +#: cps/templates/config_db.html:66 cps/templates/config_edit.html:414 #: cps/templates/config_view_edit.html:175 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 @@ -1925,8 +1960,8 @@ msgstr "" msgid "Fetch Metadata" msgstr "" -#: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:409 cps/templates/config_view_edit.html:174 +#: cps/templates/book_edit.html:213 cps/templates/config_db.html:65 +#: cps/templates/config_edit.html:413 cps/templates/config_view_edit.html:174 #: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:44 #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 @@ -2090,27 +2125,31 @@ msgstr "" msgid "Location of Calibre Database" msgstr "" -#: cps/templates/config_db.html:22 +#: cps/templates/config_db.html:21 +msgid "Separate Book files from Library (Highly experimental, might not work at all)" +msgstr "" + +#: cps/templates/config_db.html:34 msgid "Use Google Drive?" msgstr "" -#: cps/templates/config_db.html:27 +#: cps/templates/config_db.html:39 msgid "Authenticate Google Drive" msgstr "" -#: cps/templates/config_db.html:32 +#: cps/templates/config_db.html:44 msgid "Google Drive Calibre folder" msgstr "" -#: cps/templates/config_db.html:40 +#: cps/templates/config_db.html:52 msgid "Metadata Watch Channel ID" msgstr "" -#: cps/templates/config_db.html:43 +#: cps/templates/config_db.html:55 msgid "Revoke" msgstr "" -#: cps/templates/config_db.html:68 +#: cps/templates/config_db.html:80 msgid "New db location is invalid, please enter valid path" msgstr "" @@ -2171,257 +2210,261 @@ msgid "Convert non-English characters in title and author while saving to disk" msgstr "" #: cps/templates/config_edit.html:108 -msgid "Enable Uploads" -msgstr "" - -#: cps/templates/config_edit.html:108 -msgid "(Please ensure that users also have upload permissions)" +msgid "Embed Metadata to Ebook File on Download and Conversion (needs Calibre/Kepubify binaries)" msgstr "" #: cps/templates/config_edit.html:112 +msgid "Enable Uploads" +msgstr "" + +#: cps/templates/config_edit.html:112 +msgid "(Please ensure that users also have upload permissions)" +msgstr "" + +#: cps/templates/config_edit.html:116 msgid "Allowed Upload Fileformats" msgstr "" -#: cps/templates/config_edit.html:118 +#: cps/templates/config_edit.html:122 msgid "Enable Anonymous Browsing" msgstr "" -#: cps/templates/config_edit.html:122 +#: cps/templates/config_edit.html:126 msgid "Enable Public Registration" msgstr "" -#: cps/templates/config_edit.html:127 +#: cps/templates/config_edit.html:131 msgid "Use Email as Username" msgstr "" -#: cps/templates/config_edit.html:132 +#: cps/templates/config_edit.html:136 msgid "Enable Magic Link Remote Login" msgstr "" -#: cps/templates/config_edit.html:137 +#: cps/templates/config_edit.html:141 msgid "Enable Kobo sync" msgstr "" -#: cps/templates/config_edit.html:142 +#: cps/templates/config_edit.html:146 msgid "Proxy unknown requests to Kobo Store" msgstr "" -#: cps/templates/config_edit.html:145 +#: cps/templates/config_edit.html:149 msgid "Server External Port (for port forwarded API calls)" msgstr "" -#: cps/templates/config_edit.html:153 +#: cps/templates/config_edit.html:157 msgid "Use Goodreads" msgstr "" -#: cps/templates/config_edit.html:154 +#: cps/templates/config_edit.html:158 msgid "Create an API Key" msgstr "" -#: cps/templates/config_edit.html:158 +#: cps/templates/config_edit.html:162 msgid "Goodreads API Key" msgstr "" -#: cps/templates/config_edit.html:162 +#: cps/templates/config_edit.html:166 msgid "Goodreads API Secret" msgstr "" -#: cps/templates/config_edit.html:169 +#: cps/templates/config_edit.html:173 msgid "Allow Reverse Proxy Authentication" msgstr "" -#: cps/templates/config_edit.html:180 +#: cps/templates/config_edit.html:184 msgid "Login type" msgstr "" -#: cps/templates/config_edit.html:182 +#: cps/templates/config_edit.html:186 msgid "Use Standard Authentication" msgstr "" -#: cps/templates/config_edit.html:184 +#: cps/templates/config_edit.html:188 msgid "Use LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:187 +#: cps/templates/config_edit.html:191 msgid "Use OAuth" msgstr "" -#: cps/templates/config_edit.html:194 +#: cps/templates/config_edit.html:198 msgid "LDAP Server Host Name or IP Address" msgstr "" -#: cps/templates/config_edit.html:198 +#: cps/templates/config_edit.html:202 msgid "LDAP Server Port" msgstr "" -#: cps/templates/config_edit.html:202 +#: cps/templates/config_edit.html:206 msgid "LDAP Encryption" msgstr "" -#: cps/templates/config_edit.html:205 +#: cps/templates/config_edit.html:209 msgid "TLS" msgstr "" -#: cps/templates/config_edit.html:206 +#: cps/templates/config_edit.html:210 msgid "SSL" msgstr "" -#: cps/templates/config_edit.html:210 +#: cps/templates/config_edit.html:214 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:217 +#: cps/templates/config_edit.html:221 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:224 +#: cps/templates/config_edit.html:228 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" msgstr "" -#: cps/templates/config_edit.html:233 +#: cps/templates/config_edit.html:237 msgid "LDAP Authentication" msgstr "" -#: cps/templates/config_edit.html:235 +#: cps/templates/config_edit.html:239 msgid "Anonymous" msgstr "" -#: cps/templates/config_edit.html:236 +#: cps/templates/config_edit.html:240 msgid "Unauthenticated" msgstr "" -#: cps/templates/config_edit.html:237 +#: cps/templates/config_edit.html:241 msgid "Simple" msgstr "" -#: cps/templates/config_edit.html:242 +#: cps/templates/config_edit.html:246 msgid "LDAP Administrator Username" msgstr "" -#: cps/templates/config_edit.html:248 +#: cps/templates/config_edit.html:252 msgid "LDAP Administrator Password" msgstr "" -#: cps/templates/config_edit.html:253 +#: cps/templates/config_edit.html:257 msgid "LDAP Distinguished Name (DN)" msgstr "" -#: cps/templates/config_edit.html:257 +#: cps/templates/config_edit.html:261 msgid "LDAP User Object Filter" msgstr "" -#: cps/templates/config_edit.html:262 +#: cps/templates/config_edit.html:266 msgid "LDAP Server is OpenLDAP?" msgstr "" -#: cps/templates/config_edit.html:264 +#: cps/templates/config_edit.html:268 msgid "Following Settings are Needed For User Import" msgstr "" -#: cps/templates/config_edit.html:266 +#: cps/templates/config_edit.html:270 msgid "LDAP Group Object Filter" msgstr "" -#: cps/templates/config_edit.html:270 +#: cps/templates/config_edit.html:274 msgid "LDAP Group Name" msgstr "" -#: cps/templates/config_edit.html:274 +#: cps/templates/config_edit.html:278 msgid "LDAP Group Members Field" msgstr "" -#: cps/templates/config_edit.html:278 +#: cps/templates/config_edit.html:282 msgid "LDAP Member User Filter Detection" msgstr "" -#: cps/templates/config_edit.html:280 +#: cps/templates/config_edit.html:284 msgid "Autodetect" msgstr "" -#: cps/templates/config_edit.html:281 +#: cps/templates/config_edit.html:285 msgid "Custom Filter" msgstr "" -#: cps/templates/config_edit.html:286 +#: cps/templates/config_edit.html:290 msgid "LDAP Member User Filter" msgstr "" -#: cps/templates/config_edit.html:297 +#: cps/templates/config_edit.html:301 #, python-format msgid "Obtain %(provider)s OAuth Credential" msgstr "" -#: cps/templates/config_edit.html:300 +#: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Id" msgstr "" -#: cps/templates/config_edit.html:304 +#: cps/templates/config_edit.html:308 #, python-format msgid "%(provider)s OAuth Client Secret" msgstr "" -#: cps/templates/config_edit.html:320 +#: cps/templates/config_edit.html:324 msgid "External binaries" msgstr "" -#: cps/templates/config_edit.html:326 -msgid "Path to Calibre E-Book Converter" +#: cps/templates/config_edit.html:330 +msgid "Path to Calibre Binaries" msgstr "" -#: cps/templates/config_edit.html:334 +#: cps/templates/config_edit.html:338 msgid "Calibre E-Book Converter Settings" msgstr "" -#: cps/templates/config_edit.html:337 +#: cps/templates/config_edit.html:341 msgid "Path to Kepubify E-Book Converter" msgstr "" -#: cps/templates/config_edit.html:345 +#: cps/templates/config_edit.html:349 msgid "Location of Unrar binary" msgstr "" -#: cps/templates/config_edit.html:361 +#: cps/templates/config_edit.html:365 msgid "Security Settings" msgstr "" -#: cps/templates/config_edit.html:369 +#: cps/templates/config_edit.html:373 msgid "Limit failed login attempts" msgstr "" -#: cps/templates/config_edit.html:372 +#: cps/templates/config_edit.html:376 msgid "Session protection" msgstr "" -#: cps/templates/config_edit.html:374 +#: cps/templates/config_edit.html:378 msgid "Basic" msgstr "" -#: cps/templates/config_edit.html:375 +#: cps/templates/config_edit.html:379 msgid "Strong" msgstr "" -#: cps/templates/config_edit.html:380 +#: cps/templates/config_edit.html:384 msgid "User Password policy" msgstr "" -#: cps/templates/config_edit.html:384 +#: cps/templates/config_edit.html:388 msgid "Minimum password length" msgstr "" -#: cps/templates/config_edit.html:389 +#: cps/templates/config_edit.html:393 msgid "Enforce number" msgstr "" -#: cps/templates/config_edit.html:393 +#: cps/templates/config_edit.html:397 msgid "Enforce lowercase characters" msgstr "" -#: cps/templates/config_edit.html:397 +#: cps/templates/config_edit.html:401 msgid "Enforce uppercase characters" msgstr "" -#: cps/templates/config_edit.html:401 +#: cps/templates/config_edit.html:405 msgid "Enforce special characters" msgstr "" diff --git a/optional-requirements.txt b/optional-requirements.txt index 6763eaff..8b93032c 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -1,7 +1,7 @@ # GDrive Integration google-api-python-client>=1.7.11,<2.108.0 gevent>20.6.0,<24.0.0 -greenlet>=0.4.17,<2.1.0 +greenlet>=0.4.17,<3.1.0 httplib2>=0.9.2,<0.23.0 oauth2client>=4.0.0,<4.1.4 uritemplate>=3.0.0,<4.2.0 @@ -38,8 +38,8 @@ faust-cchardet>=2.1.18,<2.1.20 py7zr>=0.15.0,<0.21.0 # Comics -natsort>=2.2.0,<8.4.0 +natsort>=2.2.0,<8.5.0 comicapi>=2.2.0,<3.3.0 # Kobo integration -jsonschema>=3.2.0,<4.20.0 +jsonschema>=3.2.0,<4.22.0 diff --git a/setup.cfg b/setup.cfg index eb73462d..4c23a0ba 100644 --- a/setup.cfg +++ b/setup.cfg @@ -68,7 +68,7 @@ include = cps/services* gdrive = google-api-python-client>=1.7.11,<2.108.0 gevent>20.6.0,<24.0.0 - greenlet>=0.4.17,<2.1.0 + greenlet>=0.4.17,<3.1.0 httplib2>=0.9.2,<0.23.0 oauth2client>=4.0.0,<4.1.4 uritemplate>=3.0.0,<4.2.0 @@ -99,8 +99,8 @@ metadata = faust-cchardet>=2.1.18,<2.1.20 py7zr>=0.15.0,<0.21.0 comics = - natsort>=2.2.0,<8.4.0 + natsort>=2.2.0,<8.5.0 comicapi>=2.2.0,<3.3.0 kobo = - jsonschema>=3.2.0,<4.20.0 + jsonschema>=3.2.0,<4.22.0 diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index 6bafbd11..077d4836 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@
-

Start Time: 2024-01-17 20:30:42

+

Start Time: 2024-02-12 21:01:14

-

Stop Time: 2024-01-18 03:25:01

+

Stop Time: 2024-02-13 03:55:47

-

Duration: 5h 47 min

+

Duration: 5h 44 min

@@ -237,8 +237,8 @@ TestBackupMetadata 21 - 20 - 1 + 19 + 2 0 0 @@ -320,35 +320,11 @@ - +
TestBackupMetadata - test_backup_change_book_series_index
- -
- FAIL -
- - - - + PASS @@ -389,20 +365,60 @@ AssertionError: 'test' != 'tEst' - +
TestBackupMetadata - test_backup_change_custom_bool
- PASS + +
+ FAIL +
+ + + + - +
TestBackupMetadata - test_backup_change_custom_categories
- PASS + +
+ FAIL +
+ + + + @@ -462,13 +478,13 @@ AssertionError: 'test' != 'tEst' - + TestBackupMetadataGdrive 1 - 0 - 0 1 0 + 0 + 0 Detail @@ -476,203 +492,11 @@ AssertionError: 'test' != 'tEst' - +
TestBackupMetadataGdrive - test_backup_gdrive
- -
- ERROR -
- - - - - - - - - - - _ErrorHolder - 1 - 0 - 0 - 1 - 0 - - Detail - - - - - - - -
tearDownClass (test_backup_metadata_gdrive)
- - -
- ERROR -
- - - - + PASS @@ -686,13 +510,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestCli - test_already_started
@@ -701,7 +525,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_bind_to_single_interface
@@ -710,7 +534,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_change_password
@@ -719,7 +543,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_cli_SSL_files
@@ -728,7 +552,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_cli_different_folder
@@ -737,7 +561,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_cli_different_settings_database
@@ -746,7 +570,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_dryrun_update
@@ -755,7 +579,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_enable_reconnect
@@ -764,7 +588,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_environ_port_setting
@@ -773,7 +597,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_logfile
@@ -782,7 +606,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_no_database
@@ -791,7 +615,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_settingsdb_not_writeable
@@ -800,7 +624,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCli - test_writeonly_static_files
@@ -818,13 +642,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestCliGdrivedb - test_cli_gdrive_folder
@@ -833,7 +657,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCliGdrivedb - test_cli_gdrive_location
@@ -842,7 +666,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCliGdrivedb - test_gdrive_db_nonwrite
@@ -851,7 +675,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCliGdrivedb - test_no_database
@@ -869,13 +693,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestCoverEditBooks - test_invalid_jpg_hdd
@@ -884,7 +708,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestCoverEditBooks - test_upload_jpg
@@ -902,13 +726,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestDeleteDatabase - test_delete_books_in_database
@@ -926,13 +750,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestEbookConvertCalibre - test_calibre_log
@@ -941,7 +765,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_deactivate
@@ -950,7 +774,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_email
@@ -959,7 +783,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_failed_and_email
@@ -968,7 +792,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_only
@@ -977,7 +801,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_options
@@ -986,7 +810,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_parameter
@@ -995,7 +819,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_wrong_excecutable
@@ -1004,7 +828,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_convert_xss
@@ -1013,7 +837,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_email_failed
@@ -1022,7 +846,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_email_only
@@ -1031,7 +855,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_kindle_send_not_configured
@@ -1040,7 +864,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_ssl_smtp_setup_error
@@ -1049,7 +873,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_starttls_smtp_setup_error
@@ -1058,7 +882,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibre - test_user_convert_xss
@@ -1076,13 +900,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestEbookConvertCalibreGDrive - test_convert_email
@@ -1091,7 +915,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibreGDrive - test_convert_failed_and_email
@@ -1100,7 +924,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibreGDrive - test_convert_only
@@ -1109,7 +933,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibreGDrive - test_convert_parameter
@@ -1118,7 +942,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibreGDrive - test_email_failed
@@ -1127,7 +951,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertCalibreGDrive - test_email_only
@@ -1145,13 +969,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestEbookConvertKepubify - test_convert_deactivate
@@ -1160,7 +984,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertKepubify - test_convert_only
@@ -1169,7 +993,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertKepubify - test_convert_wrong_excecutable
@@ -1187,13 +1011,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 0 - Detail + Detail - +
TestEbookConvertGDriveKepubify - test_convert_deactivate
@@ -1202,7 +1026,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertGDriveKepubify - test_convert_only
@@ -1211,7 +1035,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEbookConvertGDriveKepubify - test_convert_wrong_excecutable
@@ -1229,13 +1053,13 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p 0 2 - Detail + Detail - +
TestEditAdditionalBooks - test_cbz_comicinfo
@@ -1244,7 +1068,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_change_upload_formats
@@ -1253,7 +1077,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_delete_book
@@ -1262,7 +1086,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_delete_role
@@ -1271,7 +1095,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_details_popup
@@ -1280,7 +1104,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_edit_book_identifier
@@ -1289,7 +1113,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_edit_book_identifier_capital
@@ -1298,7 +1122,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_edit_book_identifier_standard
@@ -1307,7 +1131,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_edit_special_book_identifier
@@ -1316,7 +1140,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_title_sort
@@ -1325,7 +1149,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_upload_cbz_coverformats
@@ -1334,7 +1158,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_upload_edit_role
@@ -1343,7 +1167,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_upload_metadata_cb7
@@ -1352,7 +1176,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_upload_metadata_cbr
@@ -1361,7 +1185,7 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_upload_metadata_cbt
@@ -1370,19 +1194,19 @@ urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', p - +
TestEditAdditionalBooks - test_writeonly_calibre_database
- SKIP + SKIP
-