From 8111d0dd51ddfae5c3426606b606d36f98df557c Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sun, 16 Apr 2023 15:06:34 +0200 Subject: [PATCH] Update translation status --- cps/translations/cs/LC_MESSAGES/messages.mo | Bin 36402 -> 35581 bytes cps/translations/cs/LC_MESSAGES/messages.po | 853 +++++++++-------- cps/translations/de/LC_MESSAGES/messages.mo | Bin 59730 -> 61434 bytes cps/translations/de/LC_MESSAGES/messages.po | 850 +++++++++-------- cps/translations/el/LC_MESSAGES/messages.mo | Bin 53282 -> 52107 bytes cps/translations/el/LC_MESSAGES/messages.po | 853 +++++++++-------- cps/translations/es/LC_MESSAGES/messages.mo | Bin 47384 -> 46435 bytes cps/translations/es/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/fi/LC_MESSAGES/messages.mo | Bin 24856 -> 24553 bytes cps/translations/fi/LC_MESSAGES/messages.po | 848 +++++++++-------- cps/translations/fr/LC_MESSAGES/messages.mo | Bin 51589 -> 50582 bytes cps/translations/fr/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/gl/LC_MESSAGES/messages.mo | Bin 56752 -> 55805 bytes cps/translations/gl/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/hu/LC_MESSAGES/messages.mo | Bin 22741 -> 22520 bytes cps/translations/hu/LC_MESSAGES/messages.po | 847 +++++++++-------- cps/translations/id/LC_MESSAGES/messages.mo | Bin 54431 -> 53509 bytes cps/translations/id/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/it/LC_MESSAGES/messages.mo | Bin 61254 -> 60229 bytes cps/translations/it/LC_MESSAGES/messages.po | 856 ++++++++++-------- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 60199 -> 59135 bytes cps/translations/ja/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/km/LC_MESSAGES/messages.mo | Bin 22556 -> 22267 bytes cps/translations/km/LC_MESSAGES/messages.po | 842 +++++++++-------- cps/translations/ko/LC_MESSAGES/messages.mo | Bin 51734 -> 50776 bytes cps/translations/ko/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/nl/LC_MESSAGES/messages.mo | Bin 46631 -> 45724 bytes cps/translations/nl/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/no/LC_MESSAGES/messages.mo | Bin 36091 -> 36091 bytes cps/translations/no/LC_MESSAGES/messages.po | 847 +++++++++-------- cps/translations/pl/LC_MESSAGES/messages.mo | Bin 48261 -> 47333 bytes cps/translations/pl/LC_MESSAGES/messages.po | 855 +++++++++-------- .../pt_BR/LC_MESSAGES/messages.mo | Bin 56954 -> 55992 bytes .../pt_BR/LC_MESSAGES/messages.po | 855 +++++++++-------- cps/translations/ru/LC_MESSAGES/messages.mo | Bin 44070 -> 42944 bytes cps/translations/ru/LC_MESSAGES/messages.po | 853 +++++++++-------- cps/translations/sv/LC_MESSAGES/messages.mo | Bin 45102 -> 44473 bytes cps/translations/sv/LC_MESSAGES/messages.po | 853 +++++++++-------- cps/translations/tr/LC_MESSAGES/messages.mo | Bin 20719 -> 20150 bytes cps/translations/tr/LC_MESSAGES/messages.po | 849 +++++++++-------- cps/translations/uk/LC_MESSAGES/messages.mo | Bin 22749 -> 22473 bytes cps/translations/uk/LC_MESSAGES/messages.po | 844 +++++++++-------- cps/translations/vi/LC_MESSAGES/messages.mo | Bin 29930 -> 29512 bytes cps/translations/vi/LC_MESSAGES/messages.po | 845 +++++++++-------- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 53880 -> 52973 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 856 ++++++++++-------- .../zh_Hant_TW/LC_MESSAGES/messages.mo | Bin 45154 -> 44351 bytes .../zh_Hant_TW/LC_MESSAGES/messages.po | 855 +++++++++-------- messages.pot | 838 +++++++++-------- 49 files changed, 11836 insertions(+), 9448 deletions(-) diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo index 11b1ed342f1cc18a71449595f2f21649f9c8ea43..0328bcf1d988243ae7856bbb6c9717ef51f1bd94 100644 GIT binary patch delta 8318 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 delta 9057 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\n" "Language: cs_CZ\n" @@ -15,505 +15,508 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistika" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Server restartován, znovu načtěte stránku" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Vypínám server, zavřete okno" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Neznámý příkaz" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Neznámý" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Stránka správce" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Základní konfigurace" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Konfigurace uživatelského rozhraní" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Uživatel admin" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Vše" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Uživatel nenalezen" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Zobrazit vše" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Nezbývá žádný správce, nelze odebrat roli správce" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Konfigurace Calibre-Web aktualizována" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Opravdu chcete odstranit Kobo token?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Opravdu chcete vypnout?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Zakázat" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Povolit" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json není nakonfigurováno pro webové aplikace" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění zápisového souboru není platné. Určete prosím platnou polohu" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění zápisového souboru pro přístup není platné. Určete prosím platnou polohu" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Prosím zadejte LDAP poskytovatele, port, DN a Identifikátor objektu uživatele" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Zadejte platné uživatelské jméno pro obnovení hesla" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filtr objektů skupiny LDAP musí mít jeden “%s” formátový identifikátor" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtr objektů skupiny LDAP má nesrovnatelnou závorku" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr uživatelských objektů LDAP musí mít jeden “%s” formátový identifikátor" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtr uživatelských objektů LDAP má nesrovnatelnou závorku" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Přidat nového uživatele" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Změnit SMTP nastavení" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Chyba databáze: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Při odesílání zkušebního e-mailu došlo k chybě: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Prvně nastavte svou e-mailovou adresu..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Nastavení e-mailového serveru aktualizováno" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Neznámá chyba. Opakujte prosím později." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Upravit uživatele %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Heslo pro uživatele %(user)s resetováno" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Prohlížeč log souborů" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Požadování balíčku aktualizace" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Stahování balíčku aktualizace" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Rozbalování balíčku aktualizace" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Nahrazování souborů" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Databázová připojení jsou uzavřena" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Zastavuji server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Aktualizace dokončena, klepněte na tlačítko OK a znovu načtěte stránku" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Aktualizace selhala:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP chyba" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Chyba připojení" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Vypršel časový limit při navazování spojení" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Všeobecná chyba" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Aktualizační soubor nemohl být uložen do Temp Dir" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Chyba: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Chyba: Žádná reakce od uživatele LDAP serveru" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Umístění databáze není platné, opravte prosím cestu" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Databáze není zapisovatelná" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Nastavení e-mailového serveru aktualizováno" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Konfigurace funkcí" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Vyplňte všechna pole!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-mail není z platné domény" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Přidat nového uživatele" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Uživatel '%(user)s' vytvořen" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Uživatel '%(nick)s' smazán" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Nezbývá žádný správce, nemůžete jej odstranit" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Uživatel '%(nick)s' aktualizován" @@ -526,28 +529,28 @@ msgstr "není nainstalováno" msgid "Execution permissions missing" msgstr "Chybí povolení k exekuci" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Vlastní sloupec %(column)d neexistuje v databázi" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Žádné" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -564,84 +567,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Soubor %(file)s nahrán" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Chybí zdrojový nebo cílový formát pro převod" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s není platným jazykem" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 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:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Formát knihy úspěšně smazán" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Kniha úspěšně smazána" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "upravit metadata" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, 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:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Uložení souboru %(file)s se nezdařilo." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formát souboru %(ext)s přidán do %(book)s" @@ -654,185 +657,188 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s nenalezen na Google Drive: %(fn)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nenalezen: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Poslat do Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Tento e-mail byl odeslán přes Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web zkušební e-mail" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Zkušební e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Začínáme s Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrační e-mail pro uživatele: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Poslat %(format)s do Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Poslat do Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Mazání knihy selhalo %(id)s failed: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Soubor %(file)s nenalezen na Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Zadané uživatelské jméno je již použito" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Chyba stahování obalu" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Chyba formátu obalu" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Vytvoření cesty obalu selhalo" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrar binární soubor nenalezen" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Chyba provádění UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Objevte" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Pro získání platného api_endpoint pro zařízení Kobo, přístupte na calibre-web bez localhost" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo nastavení" @@ -841,7 +847,7 @@ msgstr "Kobo nastavení" msgid "Register with %(provider)s" msgstr "Registrovat s %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "nyní jste přihlášen jako: '%(nickname)s'" @@ -906,9 +912,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Přihlásit" @@ -924,7 +930,7 @@ msgstr "Token vypršel" msgid "Success! Please return to your device" msgstr "Úspěch! Vraťte se prosím do zařízení" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Knihy" @@ -949,7 +955,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Nejlépe hodnocené knihy" @@ -958,7 +964,7 @@ msgid "Show Top Rated Books" msgstr "Zobrazit nejlépe hodnocené knihy" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Přečtené knihy" @@ -968,7 +974,7 @@ msgid "Show Read and Unread" msgstr "Zobrazit prečtené a nepřečtené" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Nepřečtené knihy" @@ -986,7 +992,7 @@ msgid "Show Random Books" msgstr "Zobrazit náhodné knihy" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategorie" @@ -997,7 +1003,7 @@ msgstr "Zobrazit výběr kategorie" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Série" @@ -1017,7 +1023,7 @@ msgid "Show Author Section" msgstr "Zobrazit výběr autora" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Vydavatelé" @@ -1028,7 +1034,7 @@ msgstr "Zobrazit výběr vydavatele" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Jazyky" @@ -1055,7 +1061,7 @@ msgstr "Formáty souborů" msgid "Show File Formats Section" msgstr "Zobrazit výběr formátů" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Archivované knihy" @@ -1064,7 +1070,7 @@ msgstr "Archivované knihy" msgid "Show Archived Books" msgstr "Zobrazit archivované knihy" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1072,41 +1078,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Hledat" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Vydáno po " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Vydáno před " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Hodnocení <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Hodnocení >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Rozšířené hledání" @@ -1157,7 +1163,7 @@ msgstr "Kniha byla odebrána z police: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Vytvořit polici" @@ -1184,73 +1190,73 @@ msgstr "Kniha úspěšně smazána" msgid "Change order of Shelf: '%(name)s'" msgstr "Změnit pořadí Police: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Police %(title)s vytvořena" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Police %(title)s změněna" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Došlo k chybě" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Police: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Úlohy" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Čekám" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Selhalo" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Spuštěno" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Dokončeno" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Neznámý stav" @@ -1283,145 +1289,173 @@ msgstr "Nová aktualizace k dispozici. Klepnutím na tlačítko níže aktualizu msgid "No release information available" msgstr "Nejsou k dispozici žádné informace o verzi" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Objevte (Náhodné knihy)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Žhavé knihy (Nejstahovanější)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autoři: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Vydavatel: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Série: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Hodnocení: %(rating)s stars" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Soubor formátů: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategorie: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Jazyky: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Stáhnutí" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Seznam hodnocení" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Seznam formátů" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Při odesílání této knihy došlo k chybě: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Nejprve nakonfigurujte vaši kindle e-mailovou adresu.." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "E-mailový server není nakonfigurován, kontaktujte svého správce!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registrovat" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "E-mailový server není nakonfigurován, kontaktujte svého správce!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Váš e-mail nemá povolení k registraci" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Potvrzovací e-mail byl odeslán na váš účet." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Nelze aktivovat ověření LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "nyní jste přihlášen jako: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Záložní přihlášení jako: ‘%(nickname)s’, server LDAP není dosažitelný nebo neznámý uživatel" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Nelze se přihlásit: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Špatné uživatelské jméno nebo heslo" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Nové heslo bylo zasláno na vaši emailovou adresu" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Neznámá chyba. Opakujte prosím později." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Zadejte platné uživatelské jméno pro obnovení hesla" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "nyní jste přihlášen jako: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s profil" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profil aktualizován" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu." @@ -1481,31 +1515,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "upravit metadata" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Nahrávat" @@ -1529,7 +1563,7 @@ msgstr "E-mail" msgid "Send to eReader Email" msgstr "Poslat do Kindle e-mailová adresa" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Správce" @@ -1539,8 +1573,8 @@ msgstr "Správce" msgid "Password" msgstr "Heslo" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Stahovat" @@ -1684,84 +1718,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Správa" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Zobrazit log" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Restartovat" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Vypnout" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Verze" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detaily" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Současná verze" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Zkontrolovat aktualizace" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Provést aktualizaci" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Opravdu chcete restartovat?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Zrušit" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Opravdu chcete vypnout?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Probíhá aktualizace, prosím nenačítejte stránku znovu" @@ -1901,12 +1939,12 @@ msgid "Published Date" msgstr "Datum vydání" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Vydavatel" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Jazyk" @@ -1934,8 +1972,8 @@ msgid "Fetch Metadata" msgstr "Získat metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1958,8 +1996,8 @@ msgstr "Kliknutím na obal načtěte metadata do formuláře" msgid "Loading..." msgstr "Načítání..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Zavřít" @@ -2393,6 +2431,52 @@ msgstr "Cesta k převaděči e-knih Kepubify" msgid "Location of Unrar binary" msgstr "Umístění Unrar binarních souborů" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Nastavení OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Resetovat uživatelské heslo" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Prohlížet konfiguraci" @@ -2405,7 +2489,7 @@ msgstr "Počet náhodných knih k zobrazení" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Počet autorů k zobrazení před skrytím (0 = Zakázat skrytí)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Motiv" @@ -2496,64 +2580,64 @@ msgstr "Přidat povolené/zakázané štítky" msgid "Add Allowed/Denied custom column values" msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Číst v prohližeči" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Poslechnout v prohlížeči" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publikováno" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Označit jako nepřečtené" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Označit jako přečtené" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Přečteno" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Obnovit z archivu" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Archívovat" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Archivováno" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Popis:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Přidat do police" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Veřejné)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Upravit metadata" @@ -2625,7 +2709,7 @@ msgstr "Zadejte jméno domény" msgid "Denied Domains (Blacklist)" msgstr "Zakázané domény pro registraci" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Další" @@ -2745,7 +2829,7 @@ msgstr "Knihy řazené podle hodnocení" msgid "Books ordered by file formats" msgstr "Knihy seřazené podle souboru formátů" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Police" @@ -2762,52 +2846,52 @@ msgstr "Domů" msgid "Toggle Navigation" msgstr "Přepnout navigaci" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Hledat v knihovně" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Účet" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Odhlásit se" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Nahrávání..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Chyba" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Nahrávání hotovo, zpracovávám, čekejte prosím..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Nastavení" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Prosím neobnovujte stránku" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Procházet" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "O knihovně" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Předchozí" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Podrobnosti o knize" @@ -2933,11 +3017,11 @@ msgstr "Calibre-Web katalog eknih" msgid "epub Reader" msgstr "Čtečka PDF" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Světlý" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Tmavý" @@ -2963,111 +3047,124 @@ msgstr "" msgid "Comic Reader" msgstr "Čtečka PDF" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Klávesové zkratky" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Předchozí strana" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Následujicí strana" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Změnit měřítko na nejlepší" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Změnit měřítko na šířku" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Změnit měřítko na výšku" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Změnit měřítko na nativní" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Otočit doprava" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Otočit doleva" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Převrátit obrázek" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Stránka správce" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Měřítko" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Nejlepší" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Šířka" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Výška" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Nativní" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Otočit" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Převrátit" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Vodorovně" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Svisle" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Směr" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Zleva doprava" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Zprava doleva" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index 0313f5e61a4c7c00db2de2fea6e860dcdbc533ca..45be8a10393f46cd3de6bbf2b36c68392c48c79f 100644 GIT binary patch delta 14829 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 diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index 6365a5f3..db3150b4 100644 --- a/cps/translations/de/LC_MESSAGES/messages.po +++ b/cps/translations/de/LC_MESSAGES/messages.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2023-02-06 19:00+0100\n" -"PO-Revision-Date: 2023-01-22 13:51+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" +"PO-Revision-Date: 2023-04-16 15:05+0200\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" "Language-Team: \n" @@ -16,490 +16,493 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistiken" -#: cps/admin.py:143 +#: cps/admin.py:145 msgid "Server restarted, please reload page." msgstr "Server neu gestartet, Seite bitte neu laden." -#: cps/admin.py:145 +#: cps/admin.py:147 msgid "Performing Server shutdown, please close window." msgstr "Server wird heruntergefahren, Fenster bitte schließen." -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "Datenbank wurde erneut verbunden" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Unbekannter Befehl" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" -msgstr "Bücher wurden erfolgreich für Metadaten Backup eingereiht" +#: cps/admin.py:169 +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Unbekannt" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Admin Seite" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Basiskonfiguration" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Benutzeroberflächenkonfiguration" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Benutzer bearbeiten" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Alle" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Benutzer nicht gefunden" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} Benutzer erfolgreich gelöscht" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Zeige alle" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Ungültige Anfrage" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Guest Name kann nicht geändert werden" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Guest Benutzer kann diese Rolle nicht haben" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Wert muss true oder false sein" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Ungültige Rolle" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Guest Benutzer kann diese Sichtbarkeit nicht haben" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Ungültige Sichtbarkeit" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Guest Sprache wird automatisch bestimmt und kann nicht eingestellt werden" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Keine gültige Sprache gewählt" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Keine gültige Buchsprache gewählt" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parameter wurde nicht gefunden" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Ungültige Lese Spalte" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Ungültiger Spaltenname für Einschränkung" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Konfiguration von Calibre-Web wurde aktualisiert" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Möchten Sie wirklich den Kobo Token löschen?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Möchten Sie wirklich diese Domain löschen?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Möchten Sie wirklich diesen Benutzer löschen?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Möchten Sie wirklich dieses Bücherregal löschen?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Möchten Sie wirklich die Anzeigesprache der ausgewählten Benutzer ändern?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Möchten Sie wirklich die Büchersprachen für die ausgewählten Benutzer ändern?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Möchten Sie wirklich die ausgewählte Rolle für die ausgewählten Benutzer verändern?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Möchten Sie wirklich die ausgewählten Sichtbarkeitsbeschränkungen der ausgewählten Benutzer ändern?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Möchten Sie wirklich die Sichtbarkeiten für die ausgewählten Benutzer verändern?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Möchten Sie wirklich die Synchronisation von Bücherregalen für die ausgewählten Benutzer verändern?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Ort der Calibre Datenbank editieren?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web wird nach neuen Covern suchen und Cover Miniaturansichten aktualisieren, dies kann eine Weile dauern?" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Möchten Sie wirklich die Synchronisationsdatenbank von Calibre-Web löschen, um eine komplette Synchronisation zu erzwingen?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Verbieten" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Erlauben" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} Synchronisationseinträge gelöscht" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Tag nicht gefunden" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Ungültige Aktion" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json ist nicht für Web Anwendungen konfiguriert" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Zugriffs Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Bitte einen LDAP Server, Port, DN und Benutzer Objekt angeben" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Bitte einen LDAP Service Account und Password eingeben" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Bitte einen LDAP Service Account eingeben" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Gruppen Objekt Filter benötigt genau eine \"%s\" Format Kennung" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP Gruppen Objekt Filter hat ungleiche Anzahl von Klammern" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Benutzer Objekt Filter benötigt genau eine \"%s\" Format Kennung" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP Benutzer Objekt Filter hat ungleiche Anzahl von Klammern" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Der LDAP Member User Filter benötigt genau eine \"%s\" Formatierungsmarkierung" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP Member User Filter hat eine ungleiche Anzahl von geöffneten und geschlossenen Klammern" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA-Zertifikat, Zertifikat oder Key Datei ist kein gültiger Pfad" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Neuen Benutzer hinzufügen" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP-Einstellungen ändern" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "G-Mail Konto verifiziert." -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Datenbankfehler: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test E-Mail an %(email)s wurde zum Senden in die Warteschlange eingereiht, für das Ergebnis bitte Aufgaben überprüfen" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Es trat ein Fehler beim Versenden der Test-E-Mail auf: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Bitte zuerst E-Mail Adresse konfigurieren..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Einstellungen des E-Mail-Servers aktualisiert" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Einstellungen für Geplante Aufgaben" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Ungültigen Startzeitpunkt für Aufgaben spezifiziert" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Ungültige Laufzeit für Aufgaben spezifiziert" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Einstellungen für Geplante Aufgaben aktualisiert" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "Einstellungsdatenbank ist nicht schreibbar" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Benutzer %(nick)s bearbeiten" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt" -#: cps/admin.py:1429 +#: cps/admin.py:1436 msgid "Oops! Please configure the SMTP mail settings." msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Logdatei Anzeige" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Frage Update an" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Lade Update herunter" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Entpacke Update" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Ersetze Dateien" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Schließe Datenbankverbindungen" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Stoppe Server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Update fehlgeschlagen:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP Fehler" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Verbindungsfehler" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Timeout beim Verbindungsaufbau" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Allgemeiner Fehler" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "Updatedatei konnte nicht in Temporärem Ordner gespeichert werden" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Dateien konnten während des Updates nicht ausgetauscht werden" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Mindestens ein LDAP Benutzer konnte nicht extrahiert werden" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fehler: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Benutzer erfolgreich importiert" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Datenbank ist nicht schreibbar" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "Passwortlänge muss zwischen 1 und 40 Zeichen liegen" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Datenbankeinstellung aktualisiert" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Datenbank-Konfiguration" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Bitte alle Felder ausfüllen." -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-Mail bezieht sich nicht auf eine gültige Domain" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Neuen Benutzer hinzufügen" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Benutzer '%(user)s' angelegt" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Benutzer '%(nick)s' gelöscht" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Guest Benutzer kann nicht gelöscht werden" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 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:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Benutzer '%(nick)s' aktualisiert" @@ -512,28 +515,28 @@ msgstr "Nicht installiert" msgid "Execution permissions missing" msgstr "Ausführeberechtigung fehlt" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Keine" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "Benutzer hat keine Berechtigung Cover hochzuladen" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDs unterscheiden nicht Groß-Kleinschreibung, alte ID wird überschrieben" @@ -550,84 +553,84 @@ msgstr "Fehler beim editieren des Buches: {}" msgid "File %(file)s uploaded" msgstr "Datei %(file)s hochgeladen" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Quell- oder Zielformat für Konvertierung fehlt" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' ist keine gültige Sprache" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Buch Format erfolgreich gelöscht" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Buch erfolgreich gelöscht" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Keine Erlaubnis zum Bücher löschen" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, 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:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "Benutzer hat kein Recht zusätzliche Dateiformate hochzuladen" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Fehler beim Speichern der Datei %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt" @@ -640,178 +643,181 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nicht gefunden: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "An E-Reader senden" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "Diese E-Mail wurde durch Calibre-Web versendet." -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "Calibre-Web Test-E-Mail" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "Test E-Mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Loslegen mit Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrierungs-E-Mail für Benutzer: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, python-format msgid "Send %(format)s to eReader" msgstr "Sende %(format)s an E-Reader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s an E-Reader gesendet" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "Gelesenen Status konnte nicht aktualisiert werden: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Löschen von Buch %(id)s fehlgeschlagen: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Fehler beim umbenennen der Datei im Pfad: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "Es existiert bereits ein Benutzerkonto für diese E-Mail Adresse" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Benutzername ist schon vorhanden" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "Ungültiges E-Mail Adressformat" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "Passwort stimmt nicht mit den Passwortregln überein" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Fehler beim Herunterladen des Covers" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Coverdatei fehlerhaft" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Fehler beim Erzeugen des Ordners für die Coverdatei" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Ungültiger Cover Dateiinhalt" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Es werden nur jpg/jpeg Dateien als Cover untertützt" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "UnRar Programm nicht gefunden" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "Fehler beim Ausführen von UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 msgid "Cover" msgstr "Titelbild" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Alle Bücher für Metadaten Backup einreihen" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Bitte nicht von \"localhost\" auf Calibre-Web zugreifen, um einen gültigen api_endpoint für Kobo Geräte zu erhalten" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo Setup" @@ -820,7 +826,7 @@ msgstr "Kobo Setup" msgid "Register with %(provider)s" msgstr "Anmelden mit %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "Du bist nun eingeloggt als '%(nickname)s'" @@ -885,9 +891,9 @@ msgstr "Google Oauth Fehler: {}" msgid "{} Stars" msgstr "{} Sterne" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Login" @@ -903,7 +909,7 @@ msgstr "Token ist abgelaufen" msgid "Success! Please return to your device" msgstr "Erfolg! Bitte zum Gerät zurückkehren" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Bücher" @@ -928,7 +934,7 @@ msgstr "Heruntergeladene Bücher" msgid "Show Downloaded Books" msgstr "Zeige heruntergeladene Bücher" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Best bewertete Bücher" @@ -937,7 +943,7 @@ msgid "Show Top Rated Books" msgstr "Bestbewertete Bücher anzeigen" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Gelesene Bücher" @@ -946,7 +952,7 @@ msgid "Show Read and Unread" msgstr "Zeige gelesene/ungelesene Bücher" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Ungelesene Bücher" @@ -964,7 +970,7 @@ msgid "Show Random Books" msgstr "Zeige zufällige Bücher" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategorien" @@ -974,7 +980,7 @@ msgstr "Zeige Kategorienauswahl" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Serien" @@ -992,7 +998,7 @@ msgid "Show Author Section" msgstr "Zeige Autorenauswahl" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Verleger" @@ -1002,7 +1008,7 @@ msgstr "Zeige Verlegerauswahl" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Sprachen" @@ -1026,7 +1032,7 @@ msgstr "Dateiformate" msgid "Show File Formats Section" msgstr "Zeige Dateiformatauswahl" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Archivierte Bücher" @@ -1034,7 +1040,7 @@ msgstr "Archivierte Bücher" msgid "Show Archived Books" msgstr "Zeige archivierte Bücher" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Bücherliste" @@ -1042,41 +1048,41 @@ msgstr "Bücherliste" msgid "Show Books List" msgstr "Zeige Bücherliste" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Suche" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Herausgegeben nach dem " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Herausgegeben vor dem " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Bewertung <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Bewertung >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Lesestatus = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Fehler bei der Suche nach eigenen Spalten, bitte Calibre-Web neustarten" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Erweiterte Suche" @@ -1126,7 +1132,7 @@ msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Sie haben keine Berechtigung um Bücher aus diesem Bücherregal zu löschen" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Bücherregal erzeugen" @@ -1151,73 +1157,73 @@ msgstr "Bücherregal erfolgreich gelöscht" msgid "Change order of Shelf: '%(name)s'" msgstr "Reihenfolge in Bücherregal '%(name)s' verändern" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Bücherregal %(title)s erzeugt" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Bücherregal %(title)s verändert" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Es trat ein Fehler auf" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Bücherregal: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Aufgaben" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Wartend" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Fehlgeschlagen" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Gestartet" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Beendet" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Beendet" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Abgebrochen" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Unbekannter Status" @@ -1250,143 +1256,165 @@ msgstr "Ein neues Update ist verfügbar. Klicke auf den Button unten, um auf Ver msgid "No release information available" msgstr "Keine Releaseinformationen verfügbar" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Entdecke (Zufällige Bücher)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Beliebte Bücher (am meisten Downloads)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Von %(user)s heruntergeladene Bücher" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Author: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Verleger: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Bewertung: Keine" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Bewertung: %(rating)s Sterne" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Dateiformat: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategorie: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Sprache: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Bewertungsliste" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Liste der Dateiformate" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." -msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..." +#: cps/web.py:1217 +msgid "Please configure the SMTP mail settings first..." +msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Buch erfolgreich zum Senden an %(eReadermail)s eingereiht" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Bitte zuerst die E-Reader E-Mailadresse konfigurieren." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "Bitte eine Minute warten vor der Registrierung des nächsten Benutzers " -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registrieren" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren." + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen." -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Eine Bestätigungs-E-Mail wurde an deinen E-Mail Account versendet." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" msgstr "LDAP-Authentifizierung kann nicht aktiviert werden" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "Bitte eine Minute vor dem nächsten Loginversuche warten " + +#: cps/web.py:1360 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Du bist nun eingeloggt als '%(nickname)s'" + +#: cps/web.py:1367 +#, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Rückfall Login als: '%(nickname)s', LDAP Server ist nicht erreichbar, oder der Nutzer ist unbekannt" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "Login nicht erfolgreich: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." -msgstr "Falscher Benutzername oder Passwort." +#: cps/web.py:1376 cps/web.py:1401 +msgid "Wrong Username or Password" +msgstr "Falscher Benutzername oder Passwort" + +#: cps/web.py:1383 +msgid "New Password was send to your email address" +msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." -msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt." +#: cps/web.py:1387 +msgid "An unknown error occurred. Please try again later." +msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1389 +msgid "Please enter valid username to reset password" msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "Du bist nun eingeloggt als: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s's Profil" -#: cps/web.py:1416 +#: cps/web.py:1471 msgid "Success! Profile Updated" msgstr "Profil aktualisiert" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse." @@ -1445,30 +1473,30 @@ msgstr "Calibre Datenbank wird neu verbunden" msgid "E-mail" msgstr "E-Mail" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "Metadaten Backup läuft" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "%(count)s Cover Miniaturansichten erzeugt" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Cover Miniaturansichtern" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "{0} Serien Miniaturansichten erzeugt" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Cover Miniaturansichten Cache wird gelöscht" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Upload" @@ -1491,7 +1519,7 @@ msgstr "E-Mail" msgid "Send to eReader Email" msgstr "An E-Reader E-Mail Adresse senden" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1501,8 +1529,8 @@ msgstr "Admin" msgid "Password" msgstr "Passwort" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Download" @@ -1645,84 +1673,88 @@ msgstr "Buchcover Miniaturansichten erzeugen" msgid "Generate series cover thumbnails" msgstr "Seriencover Miniaturansichten erzeugen" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Mit Calibre Bibliothek neuverbinden" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "Metadaten Backup Datei erzeugen " + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "Cover Miniaturansichten aktualisieren" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Debug Daten herunterladen" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Logdateien ansehen" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Neustart" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Calibre-Web beenden" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Versionsinformation" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Version" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Details" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Aktuelle Version" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Nach Update suchen" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Update durchführen" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Calibre-Web wirklich neustarten?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Abbruch" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Calibre-Web wirklich anhalten?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Updatevorgang, Seite bitte nicht neu laden" @@ -1862,12 +1894,12 @@ msgid "Published Date" msgstr "Herausgabedatum" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Herausgeber" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Sprache" @@ -1895,8 +1927,8 @@ msgid "Fetch Metadata" msgstr "Metadaten laden" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1918,8 +1950,8 @@ msgstr "Klicke auf das Bild, um die Metadaten zu übertragen" msgid "Loading..." msgstr "Lade..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Schließen" @@ -2350,6 +2382,50 @@ msgstr "Pfad zum Kepubify E-Book Konverter" msgid "Location of Unrar binary" msgstr "Pfad zur UnRar-Binärdatei" +#: cps/templates/config_edit.html:361 +msgid "Security Settings" +msgstr "Sicherheitseinstellungen" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "Login Fehlversuche begrenzen" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "Sessionschutz" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "Einfach" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "Stark" + +#: cps/templates/config_edit.html:380 +msgid "User Password policy" +msgstr "Passwort Regeln" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "Minimale Passwortlänge" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "Erzwinge Nummer" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "Erzwinge Kleinbuchstaben" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "Erzwinge Großbuchstaben" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "Erzwinge Spezialzeichen" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Ansichtskonfiguration" @@ -2362,7 +2438,7 @@ msgstr "Anzahl anzuzeigender zufälliger Bücher" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Anzahl in Übersicht anzuzeigender Autoren (0=alle werden angezeigt)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Theme" @@ -2451,64 +2527,64 @@ msgstr "Erlaubte/Verbotene Tags hinzufügen" msgid "Add Allowed/Denied custom column values" msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Im Browser lesen" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Im Browser anhören" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Buch %(index)s von %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Herausgabedatum" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Als ungelesen markieren" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Als gelesen markieren" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Gelesen" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Vom Archiv wiederherstellen" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Zum Archiv hinzufügen" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Archiviert" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Beschreibung:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Zu Bücherregal hinzufügen" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Öffentlich)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Metadaten bearbeiten" @@ -2578,7 +2654,7 @@ msgstr "Domainnamen eingeben" msgid "Denied Domains (Blacklist)" msgstr "Verbotene Domains für eine Registrierung" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Nächste" @@ -2696,7 +2772,7 @@ msgstr "Bücher nach Bewertungen sortiert" msgid "Books ordered by file formats" msgstr "Bücher nach Dateiformaten sortiert" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Bücherregale" @@ -2713,52 +2789,52 @@ msgstr "Home" msgid "Toggle Navigation" msgstr "Nagivation umschalten" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Bibiliothek durchsuchen" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Logout" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Lade hoch..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Fehler" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Hochladen beendet, verarbeite Daten, bitte warten..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Einstellungen" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Bitte die Seite nicht neu laden" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Durchsuchen" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Über" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Vorheriger Eintrag" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Buchdetails" @@ -2882,11 +2958,11 @@ msgstr "Calibre-Web E-Book-Katalog" msgid "epub Reader" msgstr "epub-Leser" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Hell" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Dunkel" @@ -2910,111 +2986,123 @@ msgstr "Schriftgröße" msgid "Comic Reader" msgstr "Comic-Leser" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Tastaturkürzel" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Vorherige Seite" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Nächste Seite" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "Einfach Seitendarstellung" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "Fortlaufende Seitendarstellung" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Optimale Skalierung" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Skaliere auf Breite" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Skaliere auf Höhe" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Skaliere 1:1" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Rechts rotieren" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Links rotieren" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Bild umdrehen" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "Darstellung" + +#: cps/templates/readcbr.html:129 +msgid "Single Page" +msgstr "Einzelne Seite" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "Fortlaufend" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Skalierung" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Beste" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Breite" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Höhe" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "1:1" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rotieren" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Umdrehen" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertikal" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Leserichtung" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Links nach rechts" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Rechts nach links" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Zurück nach oben" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Position merken" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Scrollleiste" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Zeige" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Verstecke" diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo index b625f1ed6ad6d9173a95c5db5f494b056f2d0bbb..2b1e40c0e98127304ef44e941ef070f1232b4f18 100644 GIT binary patch delta 8864 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 delta 9730 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 diff --git a/cps/translations/el/LC_MESSAGES/messages.po b/cps/translations/el/LC_MESSAGES/messages.po index 27c59592..5bd3b836 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Depountis Georgios\n" "Language: el\n" @@ -15,505 +15,508 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Στατιστικά" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Ο διακομιστής επανεκκίνησε, παρακαλούμε φόρτωσε ξανά τη σελίδα" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Πραγματοποιείται κλείσιμο του διακομιστή, παρακαλούμε κλείσε το παράθυρο" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Άγνωστη εντολή" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(eReadermail)s" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "ʼΑγνωστο" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Σελίδα διαχειριστή" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Βασική Διαμόρφωση" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "UI Διαμόρφωση" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Χρήστης Διαχειριστής" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Όλα" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Δεν βρέθηκε χρήστης" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Προβολή Όλων" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Απόρριψη" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Επιτρέπεται" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Δεν Έχει Διαμορφωθεί Για Διαδικτυακή Εφαρμογή" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Το Φύλλο Καταγραφής Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Η Πρόσβαση Φύλλου Καταγραφης Τοποθεσίας δεν είναι έγκυρη, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Παρακαλούμε Συμπλήρωσε ένα Πάροχο LDAP, Θύρα, DN και Αντικείμενο Αναγνώρισης Χρήστη" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Προσθήκη Νέου Χρήστη" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Σφάλμα βάσης δεδομένων: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Επεξεργασία χρήστη %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Προβολέας αρχείου φύλλου καταγραφής" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Αίτημα πακέτου ενημέρωσης" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Κατεβάζει πακέτο ενημέρωσης" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Ανοίγει πακέτο ενημέρωσης" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Αντικατάσταση αρχείων" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Σταματάει το διακομιστή" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Η ενημέρωση απέτυχε:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP Σφάλμα" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Γενικό σφάλμα" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Σφάλμα: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Η DB δεν μπορεί να Γραφτεί" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Διαμόρφωση Λειτουργίας" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Το E-mail δεν είναι από έγκυρο domain" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Προσθήκη νέου χρήστη" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη." -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν" @@ -526,28 +529,28 @@ msgstr "δεν εγκαταστάθηκε" msgid "Execution permissions missing" msgstr "Λείπουν άδειες εκτέλεσης" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Κανένα" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Τα αναγνωριστικά δεν έχουν Διάκριση Πεζών-Κεφαλαίων Γραμμάτων, Αντικατάσταση Παλιού Αναγνωριστικού" @@ -564,84 +567,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Το αρχείο %(file)s ανέβηκε" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Η δομή πηγής ή προορισμού για μετατροπή λείπει" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Το βιβλίο είναι σε σειρά επιτυχώς για μετατροπή σε %(book_format)s" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Υπήρξε ένα σφάλμα στη μετατροπή αυτού του βιβλίου: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Το βιβλίο που ανέβηκε πιθανόν να υπάρχει στη βιβλιοθήκη, σκέψου να το αλλάξεις πριν ανεβάσεις νέο: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s δεν είναι μια έγκυρη γλώσσα" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Το αρχείο προς ανέβασμα πρέπει να έχει μια επέκταση" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Το αρχείο %(filename)s δεν μπόρεσε να αποθηκευτεί σε temp dir" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Αποτυχία Μετακίνησης Αρχείου Φόντου %(file)s: %(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "επεξεργασία μεταδεδομένων" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η άδεια απορρήφθηκε)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Μορφή αρχείου %(ext)s προστέθηκε σε %(book)s" @@ -654,185 +657,188 @@ msgstr "Η ρύθμιση του Google Drive δεν ολοκληρώθηκε, msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Η ανάκληση ονόματος δεν έχει επαληθευτεί, παρακαλούμε ακολούθησε τα βήματα για την επαλήθευση ονόματος στην κονσόλα προγραμματιστή google" -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s η δομή δεν βρέθηκε για την ταυτότητα βιβλίου: %(book)d" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s δεν βρέθηκε στο Google Drive: %(fn)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s δεν βρέθηκε: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Αποστολή στο Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Αυτό το e-mail έχει σταλεί μέσω Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web δοκιμαστικό e-mail" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Δοκιμαστικό e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Ξεκινήστε με το Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "e-mail εγγραφής για χρήστη: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Μετατροπή %(orig)s σε %(format)s και αποστολή στο Kindle" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Αποστολή %(format)s στο Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Αποστολή στο Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Το αρχείου που χητήθηκε δεν μπορεί να διαβαστεί. Μπορεί να υπάρχουν λαθασμένες άδειες;" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Η διαγραφή φακέλου βιβλίου για το βιβλίο %(id)s απέτυχε, η πορεία έχει υπό-φακέλους: %(path)s" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Η διαγραφή βιβλίου %(id)s απέτυχε: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Αυτό το όνομα χρήστη έχει ήδη παρθεί" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Σφάλμα Κατεβάσματος Φόντου" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Σφάλμα Μορφής Φόντου" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Αποτυχία δημιουργίας πορείας για φόντο" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Το αρχείο φόντου δεν είναι ένα έγκυρο αρχείο εικόνας, ή δεν μπόρεσε να αποθηκευτεί" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Σφάλμα εκτέλεσης UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Ανακάλυψε" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Παρακαλούμε λάβε πρόσβαση στο calibre-web από ένα μη τοπικό εξηπηρετητή για να λάβεις μια έγκυρη api_endpoint για συσκευή kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Καθορισμός Kobo" @@ -841,7 +847,7 @@ msgstr "Καθορισμός Kobo" msgid "Register with %(provider)s" msgstr "Εγγραφή με %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'" @@ -906,9 +912,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Σύνδεση" @@ -924,7 +930,7 @@ msgstr "Η μάρκα έχει λήξει" msgid "Success! Please return to your device" msgstr "Επιτυχία! Παρακαλούμε επέστρεψε στη συσκευή σου" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Βιβλία" @@ -949,7 +955,7 @@ msgstr "Κατεβασμένα Βιβλία" msgid "Show Downloaded Books" msgstr "Προβολή Κατεβασμένων Βιβλίων" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Βιβλία με Κορυφαία Αξιολόγηση" @@ -958,7 +964,7 @@ msgid "Show Top Rated Books" msgstr "Προβολή Βιβλίων με Κορυφαία Αξιολόγηση" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Βιβλία που Διαβάστηκαν" @@ -968,7 +974,7 @@ msgid "Show Read and Unread" msgstr "Προβολή διαβασμένων και αδιάβαστων" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Βιβλία που δεν Διαβάστηκαν" @@ -986,7 +992,7 @@ msgid "Show Random Books" msgstr "Προβολή Τυχαίων Βιβλίων" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Κατηγορίες" @@ -997,7 +1003,7 @@ msgstr "Προβολή επιλογών κατηγορίας" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Σειρές" @@ -1017,7 +1023,7 @@ msgid "Show Author Section" msgstr "Προβολή επιλογών συγγραφέα" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Εκδότες" @@ -1028,7 +1034,7 @@ msgstr "Προβολή επιλογών εκδότη" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Γλώσσες" @@ -1055,7 +1061,7 @@ msgstr "Μορφές αρχείου" msgid "Show File Formats Section" msgstr "Προβολή επιλογών μορφής αρχείου" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Αρχειοθετημένα Βιβλία" @@ -1064,7 +1070,7 @@ msgstr "Αρχειοθετημένα Βιβλία" msgid "Show Archived Books" msgstr "Προβολή αρχειοθετημένων βιβλίων" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Λίστα Βιβλίων" @@ -1072,41 +1078,41 @@ msgstr "Λίστα Βιβλίων" msgid "Show Books List" msgstr "Προβολή Λίστας Βιβλίων" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Αναζήτηση" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Εκδόθηκε μετά" -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Εκδόθηκε πριν" -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Αξιολόγηση <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Αξιολόγηση >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Προχωρημένη Αναζήτηση" @@ -1157,7 +1163,7 @@ msgstr "Το βιβλίο έχει αφαιρεθεί από το ράφι: %(sn msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Δημιούργησε ένα Ράφι" @@ -1184,73 +1190,73 @@ msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" msgid "Change order of Shelf: '%(name)s'" msgstr "Αλλαγή σειράς του Ραφιού: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Το ράφι %(title)s δημιουργήθηκε" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Το ράφι %(title)s άλλαξε" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Υπήρξε ένα σφάλμα" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Ένα δημόσιο ράφι με το όνομα '%(title)s' υπάρχει ήδη." -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Ένα ιδιωτικό ράφι με το όνομα '%(title)s' υπάρχει ήδη." -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Ράφι: '%(name)s" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Σφάλμα κατά το άνοιγμα του ραφιού. Το ράφι δεν υπάρχει ή δεν είναι προσβάσιμο" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Εργασίες" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Αναμονή" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Απέτυχε" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Ξεκίνησε" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Τελείωσε" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "ʼΑγνωστη κατάσταση" @@ -1283,145 +1289,173 @@ msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε msgid "No release information available" msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποδέσμευσης" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Ανακάλυψε (Τυχαία Βιβλία)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Βιβλία στη Μόδα (Με τα περισσότερα κατεβάσματα)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Κατεβασμένα βιβλία από %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Συγγραφέας: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Εκδότης: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Σειρές: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Αξιολόγηση: %(rating)s stars" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Μορφή αρχείου: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Κατηγορία: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Γλώσσα: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Κατεβασμένα" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Λίστα αξιολογήσεων" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Λίστα μορφών αρχείου" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Oυπς! Υπήρξε ένα σφάλμα κατά την αποστολή αυτού του βιβλίου: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Παρακαλούμε ενημέρωσε το προφίλ σου με μια έγκυρη Διεύθυνση E-mail Αποστολής στο Kindle." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Εγγραφή" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να εγγραφεί" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Εναλλακτική Σύνδεση ως: '%(nickname)s', Ο Διακομιστής LDAP δεν είναι προσβάσιμος, ή ο χρήστης δεν είναι γνωστός" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Δεν μπόρεσε να συνδεθεί: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s's προφίλ" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Το προφίλ ενημερώθηκε" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail." @@ -1481,31 +1515,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "επεξεργασία μεταδεδομένων" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Ανέβασμα" @@ -1529,7 +1563,7 @@ msgstr "Διεύθυνση E-mail" msgid "Send to eReader Email" msgstr "Διεύθυνση E-mail Αποστολής στο Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Διαχειριστής" @@ -1539,8 +1573,8 @@ msgstr "Διαχειριστής" msgid "Password" msgstr "Κωδικός" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Κατέβασμα" @@ -1684,84 +1718,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Διοίκηση" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Προβολή Φύλλων Καταγραφής" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Επανεκκίνηση" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Κλείσιμο" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Έκδοση" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Λεπτομέρειες" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Τρέχουσα έκδοση" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Έλεγχος για Ενημέρωση" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Πραγματοποίηση Ενημέρωσης" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις επανεκκίνηση" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Ακύρωση" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Γίνεται ενημέρωση, παρακαλούμε μη φορτώσεις ξανά αυτή τη σελίδα" @@ -1901,12 +1939,12 @@ msgid "Published Date" msgstr "Ημερομηνία Έκδοσης" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Εκδότης" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Γλώσσα" @@ -1934,8 +1972,8 @@ msgid "Fetch Metadata" msgstr "Συγκέντρωση Μεταδεδομένων" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1958,8 +1996,8 @@ msgstr "Κάνε κλικ στο εξώφυλλο για φόρτωση μετα msgid "Loading..." msgstr "Φόρτωση..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Κλείσιμο" @@ -2393,6 +2431,52 @@ msgstr "Πορεία για Μετατροπέα Kepubify E-Book" msgid "Location of Unrar binary" msgstr "Τοποθεσία δυαδικού Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth Ρυθμίσεις" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Επαναφορά Κωδικού χρήστη" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Προβολή Διαμόρφωσης" @@ -2405,7 +2489,7 @@ msgstr "Αριθμός Τυχαίων Βιβλίων για Εμφάνιση" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Αριθμός Συγγραφέων για Εμφάνιση Πριν την Απόκρυψη (0=Απενεργοποίηση Απόκρυψης)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Θέμα" @@ -2496,64 +2580,64 @@ msgstr "Προσθήκη ετικετών Επιτρέπεται/Απορρίπ msgid "Add Allowed/Denied custom column values" msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Διάβασε στο Πρόγραμμα Περιήγησης" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "ʼΑκουσε στο Πρόγραμμα Περιήγησης" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Εκδόθηκε" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Σήμανση ως Αδιάβαστο" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Σήμανση ως Διαβασμένο" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Διαβάστηκε" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Επαναφορά από το αρχείο" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Προσθήκη στο αρχείο" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Αρχειοθετήθηκε" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Περιγραφή" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Προσθήκη στο ράφι" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Δημόσιο)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Επεξεργασία Μεταδεδομένων" @@ -2625,7 +2709,7 @@ msgstr "Όνομα domain" msgid "Denied Domains (Blacklist)" msgstr "Domains που Απορρίφθηκαν (Μαύρη λίστα)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Επόμενο" @@ -2745,7 +2829,7 @@ msgstr "Τα βιβλία ταξινομήθηκαν ανά Αξιολόγηση msgid "Books ordered by file formats" msgstr "Τα βιβλία ταξινομήθηκαν ανά μορφές αρχείου" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Ράφια" @@ -2762,52 +2846,52 @@ msgstr "Κεντρική" msgid "Toggle Navigation" msgstr "Αλλαγή Θέσης Περιήγησης" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Αναζήτηση Βιβλιοθήκης" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Λογαριασμός" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Αποσύνδεση" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Φόρτωση..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Σφάλμα" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Το ανέβασμα έγινε, γίνεται επεξεργασία, παρακαλούμε περίμενε..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Ρυθμίσεις" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Παρακαλούμε μην ανανεώσεις τη σελίδα" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Περιήγηση" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Σχετικά" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Προηγούμενο" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Λεπτομέρειες Βιβλίου" @@ -2933,11 +3017,11 @@ msgstr "Calibre-Web Κατάλογος eBook" msgid "epub Reader" msgstr "PDF πρόγραμμα ανάγνωσης" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Φωτεινό" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Σκοτεινό" @@ -2963,111 +3047,124 @@ msgstr "" msgid "Comic Reader" msgstr "PDF πρόγραμμα ανάγνωσης" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Συντομεύσεις Πληκτρολογίου" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Προηγούμενη Σελίδα" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Επόμενη Σελίδα" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Κλιμάκωση στο Καλυτερο" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Κλιμάκωση σε Πλάτος" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Κλιμάκωση σε Ύψος" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Κλιμάκωση σε Τοπικό" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Περιστροφή Δεξιά" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Περιστροφή Αριστερά" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Γύρισμα Σελίδας" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Σελίδα διαχειριστή" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Κλίμακα" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Καλύτερο" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Πλάτος" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Ύψος" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Ντόπιο" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Περιστροφή" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Γύρισμα" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Οριζόντιο" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Κάθετο" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Κατεύθυνση" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Αριστερά προς Δεξιά" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Δεξιά προς Αριστερά" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo index 51ff23b3b1ec4aa7a37b28a87b03d134e02ecda6..24df1e7d25d4abd56b1b69200d9c9f803afb1c8b 100644 GIT binary patch delta 10273 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 Kve$R6^!Xp=C|8F7 delta 11116 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 I%gW&Y1CzXgu>b%7 diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index aa2d8c57..d82a59d8 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-05-25 17:22+0200\n" "Last-Translator: minakmostoles \n" "Language: es\n" @@ -18,506 +18,509 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" # "Last-Translator: victorhck \n" #: cps/about.py:84 msgid "Statistics" msgstr "Estadísticas" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Servidor reiniciado. Por favor, recargue la página" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "El servidor se está apagando. Por favor, cierre la ventana" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Comando desconocido" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Libro puesto en la cola de envío a %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Desconocido" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Página de administración" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Configuración básica" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Configuración de la interfaz de usuario" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Editar usuarios" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Todo" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Usuario no encontrado" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} usuarios eliminados con éxito" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar todo" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Petición mal formulada" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "El nombre de invitado no se puede cambiar" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "El invitado no puede tener ese rol" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Valor tiene que ser verdadero o falso" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Rol inválido" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "El invitado no puede tener esta vista" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Vista no válida" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "El sitio del invitado se determina automáticamente y no puede ser cambiado" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "No hay un sitio válido" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "No se ha indicado un idioma válido para el libro" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parámetro no encontrado" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Columna de lectura no válida" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Columna restringida no válida" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "¿Realmente quieres borrar el Token de Kobo?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "¿Realmente deseas borrar este dominio?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "¿Realmente quieres borrar este usuario?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "¿Realmente quieres eliminar este estante?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "¿Realmente quieres cambiar el idioma de los usuarios seleccionados?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "¿Realmente quieres cambiar los idiomas visibles del libro de los usuarios seleccionados?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "¿Realmente quieres cambiar el rol seleccionado de el usuario seleccionado?" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "¿Realmente quieres cambiar las restricciones de los usuarios seleccionados?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "¿Realmente quieres cambiar las restricciones de visibilidad de los usuarios seleccionados?" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "¿Realmente quieres cambiar el comportamiento de sincronización de estante del usuario seleccionado?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "¿Realmente quieres cambiar la ubicación de la biblioteca Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Denegar" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Etiqueta no encontrada" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Acción no válida" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json no está configurado para la aplicación web" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Logfile no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Access Logfile no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Por favor, Introduce un proveedor LDAP, puerto, DN y el User Object Identifier" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, introduce una cuenta de servicio LDAP y su contraseña" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, introduce una cuenta de servicio LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "El LDAP Group Object Filter tiene un paréntesis diferente" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "El LDAP Group Object Filter tiene un paréntesis diferente" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "El filtro de usuarios LDAP necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "El filtro de LDAP \"Member User\" tiene paréntesis no coincidentes" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Ubicaciones del certificado de la CA del LDAP, del certificado o de la clave no válidos. Por favor introduce la ruta correcta" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Añadir nuevo usuario" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Cambiar parámetros de correo" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Error en la base de datos: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, 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:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocurrió un error enviando el correo electrónico de prueba: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Por favor, configure su correo electrónico primero..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Actualizados los ajustes del servidor de correo electrónico" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuario %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Contraseña para el usuario %(user)s reinicializada" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Configura primero los parámetros del servidor SMTP..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visor del fichero de log" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Descomprimiendo paquete de actualización" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Remplazando archivos" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Los conexiones con la base datos están cerradas" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Parando el servidor" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Actualización finalizada. Por favor, pulse OK y recargue la página" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Falló la actualización:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Error HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Error de conexión" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tiempo agotado mientras se trataba de establecer la conexión" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Error general" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "La actualización del archivo no pudo guardarse en el directorio temporal (Temp Dir)" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Error al crear al menos un usuario LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Error al crear al menos un usuario LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Error: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Error: el servidor LDAP no ha devuelto ningún usuario" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Al menos, un usuario LDAP no se ha encontrado en la base de datos" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Usuario importado con éxito" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "La ruta de la base de datos no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "La base de datos no es modificable" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Actualizados los ajustes del servidor de correo electrónico" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Configuración de la base de datos" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "¡Por favor, rellena todos los campos!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "El correo electrónico no tiene un dominio válido" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Añadir un nuevo usuario" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' eliminado" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "No puedes borrar al Usuario Invitado" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -530,28 +533,28 @@ msgstr "no instalado" msgid "Execution permissions missing" msgstr "Faltan permisos de ejecución" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ninguno" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Los identificadores no distinguen entre mayúsculas y minúsculas, sobrescribiendo el identificador antiguo" @@ -568,84 +571,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "El fichero %(file)s ha sido subido" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Falta la fuente o el formato de destino para la conversión" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s no es un idioma válido" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex) no es un número válido, saltando" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo al crear la ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Fallo al guardar el archivo %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Archivo con formato %(ext)s añadido a %(book)s" @@ -658,186 +661,189 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s no encontrado: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Enviar al Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este correo electrónico ha sido enviado usando Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Correo de prueba de Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Comprobar correo electrónico" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Primeros pasos con Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Correo electrónico de registro para el usuario: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviado %(format)s al Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Enviar al Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "El eliminado del libro %(id)s falló: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fichero %(file)s no encontrado en Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Este nombre de usuario ya está en uso" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Dirección de correo no válida" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Error al descargar la cubierta" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Error en el formato de la cubierta" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Error al crear una ruta para la cubierta" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Sólo se admiten como portada los archivos jpg/jpeg" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "No se encuentra el archivo binario UnRar" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Error ejecutando UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Descubrir" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Por favor, accede a calibre-web desde una ubicación que no sea localhost para obtener una api_endpoint válida para tu dispositivo Kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Configuración de Kobo" @@ -846,7 +852,7 @@ msgstr "Configuración de Kobo" msgid "Register with %(provider)s" msgstr "Registrado con %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "has iniciado sesión como : '%(nickname)s'" @@ -911,9 +917,9 @@ msgstr "Error Google Oauth {}" msgid "{} Stars" msgstr "{} Estrellas" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Inicio de sesión" @@ -929,7 +935,7 @@ msgstr "El token ha expirado" msgid "Success! Please return to your device" msgstr "¡Correcto! Por favor regrese a su dispositivo" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Libros" @@ -954,7 +960,7 @@ msgstr "Libros Descargados" msgid "Show Downloaded Books" msgstr "Mostrar Libros Descargados" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Libros mejor valorados" @@ -963,7 +969,7 @@ msgid "Show Top Rated Books" msgstr "Mostrar libros mejor valorados" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Libros leídos" @@ -973,7 +979,7 @@ msgid "Show Read and Unread" msgstr "Mostrar leídos y no leídos" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Libros no leídos" @@ -991,7 +997,7 @@ msgid "Show Random Books" msgstr "Mostrar libros al azar" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Categorías" @@ -1002,7 +1008,7 @@ msgstr "Mostrar selección de categorías" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Series" @@ -1022,7 +1028,7 @@ msgid "Show Author Section" msgstr "Mostrar selección de autores" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Editores" @@ -1033,7 +1039,7 @@ msgstr "Mostrar selección de editores" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Idiomas" @@ -1060,7 +1066,7 @@ msgstr "Formatos de archivo" msgid "Show File Formats Section" msgstr "Mostrar selección de formatos de archivo" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Libros archivados" @@ -1069,7 +1075,7 @@ msgstr "Libros archivados" msgid "Show Archived Books" msgstr "Mostrar libros archivados" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Lista de Libros" @@ -1077,41 +1083,41 @@ msgstr "Lista de Libros" msgid "Show Books List" msgstr "Mostrar Lista de Libros" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Buscar" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publicado después de " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publicado antes de " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Calificación <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Calificación >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Estado de lectura = $(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Error en la búsqueda de columnas personalizadas, por favor reinicia Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Búsqueda avanzada" @@ -1162,7 +1168,7 @@ msgstr "El libro fue eliminado del estante: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crear un estante" @@ -1189,73 +1195,73 @@ msgstr "Libro eliminado con éxito" msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar orden del estante: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s creado" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s cambiado" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Ha sucedido un error" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tareas" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Esperando" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Fallido" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Comenzado" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Finalizado" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Estado desconocido" @@ -1288,145 +1294,173 @@ msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo msgid "No release information available" msgstr "No hay información del lanzamiento disponible" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Descubrir (Libros al azar)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Libros populares (los más descargados)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Libros descargados por %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autor/es: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Editor/es: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Series: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Calificación: %(rating)s estrellas" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Formato del archivo: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Categoría : %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Idioma: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Descargas" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Lista de calificaciones" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Lista de formatos" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Configura primero los parámetros del servidor SMTP..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Libro puesto en la cola de envío a %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Ha sucedido un error en el envío del libro: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Por favor actualiza tu perfil con la dirección de correo de su kindle..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "El servidor de correo no está configurado, por favor, ¡avisa a tu administrador!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registro" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "El servidor de correo no está configurado, por favor, ¡avisa a tu administrador!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Su correo electrónico no está permitido para registrarse" -#: cps/web.py:1270 +#: cps/web.py:1286 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:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "No se puede activar la autenticación LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "has iniciado sesión como : '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback login como: '%(nickname)s', no se puede acceder al servidor LDAP o usuario desconocido" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "No se pudo entrar: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Usuario o contraseña inválido" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Una nueva contraseña se ha enviado a su cuenta de correo electrónico" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Por favor, introduce un usuario válido para restablecer la contraseña" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "has iniciado sesión como : '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Perfil de %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Perfil actualizado" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico" @@ -1486,31 +1520,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "editar metadatos" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Subir archivo" @@ -1534,7 +1568,7 @@ msgstr "Correo electrónico" msgid "Send to eReader Email" msgstr "Enviar al correo de Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1544,8 +1578,8 @@ msgstr "Admin" msgid "Password" msgstr "Contraseña" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Descargar" @@ -1690,84 +1724,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administración" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Descargar paquete de debug" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Ver archivos de registro" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Reiniciar" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Apagar" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versión" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detalles" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Versión actual" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Comprobar actualizaciones" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Realizar actualización" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "¿Realmente quieres reiniciar?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Cancelar" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "¿Realmente quiere detener?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Actualizando. Por favor, no recargue la página" @@ -1907,12 +1945,12 @@ msgid "Published Date" msgstr "Fecha de publicación" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editor" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Idioma" @@ -1940,8 +1978,8 @@ msgid "Fetch Metadata" msgstr "Obtener metadatos" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1964,8 +2002,8 @@ msgstr "Haz clic en la portada para cargar los metadatos en el formulario" msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Cerrar" @@ -2399,6 +2437,52 @@ msgstr "Ruta para Kepubify E-Book Converter" msgid "Location of Unrar binary" msgstr "Ubicación del binario de Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Ajustes OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Resetear contraseña de usuario" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Ver configuración" @@ -2411,7 +2495,7 @@ msgstr "Número de libros aleatorios a mostrar" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Número de autores para mostrar antes de ocultar (0 = desactivar la ocultación)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2502,64 +2586,64 @@ msgstr "Añadir etiquetas Permitidas/Denegados" msgid "Add Allowed/Denied custom column values" msgstr "Añadir valores personalizados Permitidos/Denegados" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Leer en el navegador" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Escuchar en el navegador" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publicado" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Marcar como no leido" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Marcar como leido" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Leído" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Restarurar desde el archivo" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Añadir a archivación" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Archivado" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Descripción:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Agregar al estante" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Editar metadatos" @@ -2632,7 +2716,7 @@ msgstr "Introducir nombre de dominio" msgid "Denied Domains (Blacklist)" msgstr "Dominios prohibidos (Blaclist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Siguiente" @@ -2752,7 +2836,7 @@ msgstr "Libros ordenados por puntuación" msgid "Books ordered by file formats" msgstr "Libros ordenados por formato de archivo" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Estanterías" @@ -2769,52 +2853,52 @@ msgstr "Inicio" msgid "Toggle Navigation" msgstr "Alternar navegación" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Buscar en la librería" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Cuenta" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Cerrar sesión" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Cargando..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Error" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Carga hecha, procesando, por favor espere ..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Ajustes" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Por favor, no actualice la página" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Navegar" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Acerca de" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Previo" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Detalles del libro" @@ -2940,11 +3024,11 @@ msgstr "Catálogo de ebooks de Calibre-Web" msgid "epub Reader" msgstr "Lector PDF" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Claro" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Oscuro" @@ -2970,111 +3054,124 @@ msgstr "" msgid "Comic Reader" msgstr "Lector PDF" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Atajos de teclado" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Página previa" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Página siguiente" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Escalar a mejor" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Escalar a la ancho" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Escalar a lo alto" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Escalado nativo" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Rotar hacia la derecha" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Rotar hacia la izquierda" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Voltear imagen" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Página de administración" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Escalar" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Mejor" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Ancho" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Alto" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Nativo" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rotar" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Voltear" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertical" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Dirección" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "De izquierda a derecha" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "De derecha a izquierda" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Volver al principio" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Recordar posición" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Barra de desplazamiento" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Mostrar" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Ocultar" diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo index 28bf476974ce184ae4d44e2a21d77fe55854299c..f29666c7128de9a150dd9b7e48fc5fe7d8a4a1cf 100644 GIT binary patch delta 6203 zcmYM%32;@_8Nl%afq;Y%_ANqQfIuLLCP2WTNLV5w5LrZ#tt=K%Q4zHTJLQQRxDAXb zQ0gu&sFYR|t$=7zk%HBUf<+y)7PQDvKt#igV*mf#GgAigJLlYc&-u>xo%>!`{kM9D zw$)4TZ`t6Xz@OjM3*k)sKFi+!|LkrTLK)rnu^4|r?<;N}LQ5Qh_NQP97vcn5gO}nl zY>2}=iEMonzf<`HBLsNVV2Vf_{Hxm=F1gBw7ybs&pCUoK5 zXn+Th*uv>J-l0>Hu`)F9O7!}0bb~W7?SpsFn1PR?5r)pmjag`oyQ2?OpgW(8EpRRl z#zko0Z=wMoK~sJLy}w>wl7W_Jrt{G2ee1sR!AIHY{Jeul_ zvA+vV<;UoKN73u2kQhP>(q+cV_+g;q(fcQ&JHHXl?BX;H7k&^;-4keSpGB$>wxW@K zhL-9Gy3(o{#gSfgY0M*avH|I~I3M z9FGQcOLR3F$R;%4JvbT;|2@b*MZ~z`g4`Fvcx1F#G4d5blp3AWtPC-+@7=8X} zJO}^d=Pz$m$S)3I6b{9+a5<)M8#cx-(TNYC3)f{F5~d<}ZvJghsEvA+cUE?AB} zzc%(aq9xjqrr}}O7YDvYGx8JqU?$Nt!H(Dz3(yqyMo)J|v^rj&6`hBc_V;LJSH|&2 z(M-L7&YS)-4L=e$qbb^j?&K)CKrQ+~lTAH1hoKNn=@`tyn{hZU#vI&<)_xzlffHx| zjY^XZ#7D6?oALWNpvdHIh8JLP@=6*DQ=dtb= z6ZCW7GrS!AW|<6=(7-mK8F(Z1x1*)nh3)ZEq{Mvx({M)_=Ouw;qmg$;$BWSi`=Jq6 zp*tFdPBa5OE4N@5ya(OTdTfPnpn=w)_x%{h8}XIs_fN>BK~}>BSb~eN9lnUB@@;g% z575`}0OsK_H1*AS1q`q)+AlyiP!z{2&;TyP9(Zl+KZJdJ|6jL(|3!D$Wl-`!Pb{Ec zjUDkOG_YmZ7N3p%H_+1TMFTm622zU#ej5FfYgL&X&T^bXe=Mfm;p;Ry<2z`|4q$hz z#Wt8XI9a$HFQh*jJsT_0h2BL=wHwXQUi7W`3eUu&Xi1v#-D?Rtp|5et5c2Or(-`oy z--%AN3Qge?=mQ(jg|=ZHzJp!xAe!37LzB#vpbPg!zk~*(nVO7lY(ARdyU;^=|Il=j zvWMb@wei9WXyhBwg+Ihx+>06b9rnT>&`jhHOFmG>q7&bOrv5f`W2?{%uR}NV9vbLB z(=-Zb9K@cORTXQ5Mm`qJ&>ZZ9%g`FHM+4b{*8WXwh#z4k?n4*qctK(>Gy?;o)o1|e znKa61T#we|iD(TL(9aki4p!@9`OTAzsHIU|$Pn~Mfg9375l(4UDO%DLDb??V^Zh#u0-=v%ZO zeg1pwfjOfn8S97sG)(D0v}TuLCeB88b}bsv;yC^YHm1K8`92Ek(fbZy7S>`VHW;0J zJy)U6-+^Z6arF7uFm0{giWj~>58aRGscl99J;f=^#&UFgXmkQP;g#qH(&&y?qYG?C zpL;v@YhwR1bc2Vg$$xzs#~3KW6F3C(E=~^7Omv60VkN$c-dBt6wA+{@W2NXkmDmM` zqR-97k@yJq$3xf+^T#It8NFaE`9GV1`xqF2ThPdVL~9$y@yh}sD`iHRvp2p_bJUu=+mHB9@i_wV&V=EkuE;Iw3_?qbL=!Abn zpZgQ~R&2*6_!YXq5j5b_XekB!Bk?)l-A1m=?^tqF034f0L%*&E_n?>`nE!X>E3*Y~dH2f%?il%M`nzFfQKsTa0 zxeKk`s^~hjG@CIW-$CDkZ?Fx9iOKzK(KAwrj`v4j$I)2m`+pS;PwfL}3SU7Nu0d0E z5Dn-Q_CkN(GL=PWX3Eg(1JQtnp&6*g26!2^#wj=wZ@_bKEBash@BFHa`_rsQ1)+T-Wg z5l^C-Xg(!5d?jdLQ_upRyP(15>0zs$N$O)@hAE!nuKWWM8Lg z_}~#VqEqM&bAOc_mLhcF!D#9xq7P1wUKy`nho LLmMl`f06w^I=-8I delta 6493 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\n" "Language: fi\n" @@ -16,502 +16,505 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Tilastot" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Palvelin uudelleenkäynnistetty, ole hyvä ja päivitä sivu" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Palvelinta sammutetaan, ole hyvä ja sulje sivu" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Tuntematon" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Ylläpitosivu" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Perusasetukset" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Käyttöliittymän asetukset" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Pääkäyttäjä" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Kaikki" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Näytä kaikki" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web asetukset päivitetty" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Haluatko varmasti pysäyttää Calibre-Webin?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Muuta SMTP asetuksia" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Testisähköpostin lähetyksessä tapahtui virhe: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Sähköpostipalvelimen tiedot päivitetty" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Muokkaa käyttäjää %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Käyttäjän %(user)s salasana palautettu" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Lokitiedoston katselin" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Haetaan päivitystiedostoa" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Ladataan päivitystiedostoa" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Puretaan päivitystiedostoa" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Korvataan tiedostoja" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Tietokantayhteydet on katkaistu" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Sammutetaan palvelin" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Päivitys valmistui, ole hyvä ja paina OK ja lataa sivu uudelleen" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Päivitys epäonnistui:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP virhe" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Yhteysvirhe" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Aikakatkaisu yhteyttä luotaessa" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Yleinen virhe" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Sähköpostipalvelimen tiedot päivitetty" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Ominaisuuksien asetukset" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Ole hyvä ja täytä kaikki kentät!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Sähköpostiosoite ei ole toimivasta domainista" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Lisää uusi käyttäjä" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Käyttäjä '%(user)s' lisätty" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Käyttäjä '%(nick)s' poistettu" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Käyttäjä '%(nick)s' päivitetty" @@ -524,28 +527,28 @@ msgstr "ei asennettu" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ei mitään" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -562,84 +565,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Tiedosto %(file)s tallennettu" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Lähteen tai kohteen tiedostomuoto puuttuu" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s ei ole kelvollinen kieli" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Ladattavalla tiedostolla on oltava tiedostopääte" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "muokkaa metadataa" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Tiedoston %(file)s tallennus epäonnistui." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s" @@ -652,183 +655,186 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ei löydy: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Lähetä Kindleen" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, 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:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web testisähköposti" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Testi sähköposti" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Aloita Calibre-Web:in käyttö" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Rekiströintisähköposti käyttäjälle: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Lähetä %(format)s Kindleen" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Lähetä Kindleen" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Löydä" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -837,7 +843,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "Rekisteröi tuottajalle %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\"" @@ -902,9 +908,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Kirjaudu sisään" @@ -920,7 +926,7 @@ msgstr "Valtuutus vanhentunut" msgid "Success! Please return to your device" msgstr "Onnistui! Ole hyvä ja palaa laitteellesi" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Kirjat" @@ -945,7 +951,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Parhaiten arvioidut kirjat" @@ -954,7 +960,7 @@ msgid "Show Top Rated Books" msgstr "Näytä parhaiten arvioidut kirjat" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Luetut kirjat" @@ -964,7 +970,7 @@ msgid "Show Read and Unread" msgstr "Näytä luetut ja lukemattomat" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Lukemattomat kirjat" @@ -982,7 +988,7 @@ msgid "Show Random Books" msgstr "Näytä satunnausia kirjoja" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategoriat" @@ -993,7 +999,7 @@ msgstr "Näytä kategoriavalinta" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Sarjat" @@ -1013,7 +1019,7 @@ msgid "Show Author Section" msgstr "Näytä kirjailijavalinta" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Julkaisijat" @@ -1024,7 +1030,7 @@ msgstr "Näytä julkaisijavalinta" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Kielet" @@ -1051,7 +1057,7 @@ msgstr "Tiedotomuodot" msgid "Show File Formats Section" msgstr "Näytä tiedostomuotovalinta" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1060,7 +1066,7 @@ msgstr "" msgid "Show Archived Books" msgstr "Näytä viimeisimmät kirjat" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1068,41 +1074,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Hae" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Julkaistu alkaen " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Julkaisut ennen " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Arvostelu <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Arvostelu >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Edistynyt haku" @@ -1153,7 +1159,7 @@ msgstr "Kirja on poistettu hyllystä: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "luo hylly" @@ -1180,73 +1186,73 @@ msgstr "Metadata päivitetty onnistuneesti" msgid "Change order of Shelf: '%(name)s'" msgstr "Muuta hyllyn: '%(name)s' järjestystä" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Hylly %(title)s luotu" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Hylly %(title)s muutettu" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Tapahtui virhe" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylly: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Virhe hyllyn avauksessa. Hyllyä ei ole tai se ei ole saatavilla" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tehtävät" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Odottaa" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Epäonnistui" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Aloitettu" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Valmistui" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Tuntematon tila" @@ -1279,145 +1285,172 @@ msgstr "Uusi päivitys saatavilla. Paina alla olevaa nappia päivittääksesi ve msgid "No release information available" msgstr "Ei päivitystietoa saatavilla" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Löydä (satunnaiset kirjat)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Kuumat kirjat (ladatuimmat)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Kirjailija: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Julkaisija: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Sarja: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Arvostelu: %(rating)s tähteä" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Tiedostomuoto: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Kieli: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "DLS" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Arvostelulistaus" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Tiedostomuotolistaus" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Kirjan: %(res)s lähettämisessa tapahtui virhe" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Ole hyvä ja aseta Kindle sähköpostiosoite ensin..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Rekisteröi" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "LDAP autnetikoinnin aktivointi ei onnistu" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\"" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Väärä käyttäjätunnus tai salasana" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" -msgstr "" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" +msgstr "Väärä käyttäjätunnus tai salasana" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\"" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)sn profiili" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profiili päivitetty" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus." @@ -1477,31 +1510,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "muokkaa metadataa" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Lähetä" @@ -1525,7 +1558,7 @@ msgstr "Sähköposti" msgid "Send to eReader Email" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Ylläpito" @@ -1535,8 +1568,8 @@ msgstr "Ylläpito" msgid "Password" msgstr "Salasana" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Lataa" @@ -1680,84 +1713,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Ylläpito" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Katsele lokitiedostoja" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Uudellenkäynnistä Calibre-Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Sammuta Calibre-Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versio" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Yksityiskohdat" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Nykyinen versio" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Tarkista päivitykset" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Päivitä" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Haluatko varmasti uudelleenkäynnistää Calibre-Webin?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Haluatko varmasti pysäyttää Calibre-Webin?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Päivitetään, älä päivitä sivua" @@ -1897,12 +1934,12 @@ msgid "Published Date" msgstr "Julkaisupäivä" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Julkaisija" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Kieli" @@ -1930,8 +1967,8 @@ msgid "Fetch Metadata" msgstr "Hae metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1954,8 +1991,8 @@ msgstr "Klikkaa kantta ladataksesi metadata lomakkeelle" msgid "Loading..." msgstr "Ladataan..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Sulje" @@ -2388,6 +2425,52 @@ msgstr "" msgid "Location of Unrar binary" msgstr "Unrar binäärin paikka" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth asetukset" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Nollaa käyttäjän salasana" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Näytä konfiguraatio" @@ -2400,7 +2483,7 @@ msgstr "Satunnaisten kirjojen näytön lukumäärä" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Kirjailijoiden lukumäärä ennen piilotusta (0=poista piilotus)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Teema" @@ -2491,64 +2574,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Lue selaimessa" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Kuuntele selaimessa" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Merkitse lukemattomaksi" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Merkitse luetuksi" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Luettu" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Kuvaus:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Lisää hyllyyn" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Muokkaa metadataa" @@ -2620,7 +2703,7 @@ msgstr "Syötä domainnimi" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Seuraava" @@ -2738,7 +2821,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2755,52 +2838,52 @@ msgstr "Koti" msgid "Toggle Navigation" msgstr "Vaihda navigointi" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Tili" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Kirjaudu ulos" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Ladataan..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Virhe" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Lataus tehty, prosessoidaan, ole hyvä ja odota..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Asetukset" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Selaa" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Tietoja" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Edellinen" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Kirjan tiedot" @@ -2926,11 +3009,11 @@ msgstr "Calibre-Web e-kirjaluettelo" msgid "epub Reader" msgstr "PDF lukija" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Vaalea" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Tumma" @@ -2956,111 +3039,124 @@ msgstr "" msgid "Comic Reader" msgstr "PDF lukija" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Näppäimistöpikakomennot" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Edellinen sivu" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Seuraava sivu" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Skaalaa parhaaseen" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Skaalaa leveyteen" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Skaalaa korkeuteen" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Skaalaa alkuperäiseen" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Käännä oikealle" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Käännä vasemmalle" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Käännä kuva" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Ylläpitosivu" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Skaalaa" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Paras" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Leveys" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Korkeus" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Alkuperäinen" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Pyöritä" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Käännä" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Vaakasuunta" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Pystysuunta" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Suunta" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Vasemmalta oikealle" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Oikealta vasemmalle" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo index 4d21931f428d2313395814185afdcd6ec96d5174..f49488d2d9d3c989fccb18ebfbc42ffb56325d05 100644 GIT binary patch delta 10519 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 Wn#A&Ki>XzZB9A-2^4x)=;r|P6@yl5N diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index f839e7ba..e88ec478 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-06-07 06:47+0200\n" "Last-Translator: \n" "Language: fr\n" @@ -31,505 +31,508 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistiques" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Serveur redémarré, merci de rafraîchir la page" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Arrêt du serveur en cours, merci de fermer la fenêtre" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Commande inconnue" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Le livre a été mis en file de traitement avec succès pour un envoi vers %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Inconnu" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Page admin" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Configuration principale" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Configuration de l’interface utilisateur" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Éditer les utilisateurs" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Tout" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "L'utilisateur n'a pas été trouvé" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} utilisateurs supprimés avec succès" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Montrer tout" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Demande malformée" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Le nom de l’invité ne peut pas être modifié" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "L’invité ne peut pas avoir ce rôle" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "La valeur doit être vraie ou fausse" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Rôle invalide" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "L’invité ne peut pas avoir cette vue" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Vue invalide" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Les paramètres régionaux de l’invité sont déterminés automatiquement et ne peuvent pas être définis" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Aucun paramètre régional valide n’est donné" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Aucune langue de livre valide donnée" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Paramètre non trouvé" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Colonne de lecture non valide" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Colonne restreinte non valide" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Configuration de Calibre-Web mise à jour" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Voulez-vous vraiment supprimer le jeton Kobo ?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Voulez-vous vraiment supprimer ce domaine ?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Voulez-vous vraiment supprimer cet utilisateur ?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Voulez-vous vraiment supprimer l’étagère ?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Voulez-vous vraiment supprimer l’étagère ?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Voulez-vous vraiment modifier les langues de livre visibles pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Voulez-vous vraiment modifier le rôle sélectionné pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Voulez-vous vraiment modifier les restrictions sélectionnées pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Voulez-vous vraiment modifier les restrictions de visibilité sélectionnées pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Voulez-vous vraiment supprimer l’étagère?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Voulez-vous vraiment arrêter Calibre-Web ?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Êtes-vous certain de vouloir supprimer la base de données de synchronisation de Calibre-Web pour forcer une synchronisation complète avec votre liseuse Kobo ?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Refuser" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Autoriser" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} entrées de synchronisation supprimées" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Étiquette introuvable" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Action invalide" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json n'est pas configuré pour l'application Web" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier logfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Access Logfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Veuillez saisir un fournisseur LDAP, Port, DN et l'identifiant objet de l'utilisateur" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Veuillez entrer un compte de service LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Le filtre objet du groupe LDAP a besoin d'un identifiant de format \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Le filtre objet du groupe LDAP a une parenthèse non gérée" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Le filtre objet de l'utilisateur LDAP a besoin d'un identifiant de format \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Le filtre objet de l'utilisateur LDAP a une parenthèse non gérée" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Le filtre utilisateur des membres LDAP doit avoir un identificateur de format \"%s\\ »" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Le filtre utilisateur de membre LDAP a des parenthèses non appariées" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACertificat, certificat ou emplacement de clé non valide, veuillez entrer le chemin correct" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Modifier les paramètres du serveur de courriels" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erreur de la base de données: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, 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:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Il y a eu une erreur pendant l’envoi du courriel de test : %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Veuillez d'abord configurer votre adresse de courriel..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Éditer l'utilisateur %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Veuillez configurer les paramètres SMTP au préalable..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visualiseur de fichier journal" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Demande de mise à jour" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Téléchargement de la mise à jour" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Décompression de la mise à jour" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Remplacement des fichiers" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Les connexions à la base de données ont été fermées" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Arrêt du serveur" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Mise à jour terminée, merci d’appuyer sur okay et de rafraîchir la page" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "La mise à jour a échoué :" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Erreur HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Erreur de connexion" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Délai d'attente dépassé lors de l'établissement de connexion" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Erreur générale" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Le fichier de mise à jour ne peut pas être sauvegardé dans le répertoire temporaire" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Les fichiers n’ont pas pu être remplacés pendant la mise à jour" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Impossible de créer au moins un utilisateur LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Impossible de créer au moins un utilisateur LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erreur : %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Erreur : Aucun utilisateur renvoyé dans la réponse LDAP du serveur" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Au moins un utilisateur LDAP n'a pas été trouvé dans la base de données" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} utilisateur importé avec succès" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement de la base de données est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "La base de données n'est pas accessible en écriture" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Configuration des options" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Veuillez compléter tous les champs !" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Cette adresse de courriel n’appartient pas à un domaine valide" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Utilisateur '%(user)s' créé" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilisateur '%(nick)s' supprimé" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Impossible de supprimer l’utilisateur Invité" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" @@ -542,28 +545,28 @@ msgstr "non installé" msgid "Execution permissions missing" msgstr "Les permissions d'exécutions manquantes" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Aucun" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Les identificateurs ne sont pas sensibles à la casse, écrasant l’ancien identificateur" @@ -580,84 +583,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Le fichier %(file)s a été téléchargé" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 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:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s n'est pas une langue valide" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Pour être déposé le fichier doit avoir une extension" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Le format du livre a été supprimé avec succès" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Le livre a été supprimé avec succès" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Vous n’avez par les permissions pour supprimer les livres" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s n’est pas un nombre valide, ignoré" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, 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:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Échec de la sauvegarde du fichier %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s" @@ -670,186 +673,189 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s introuvable : %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Envoyer vers Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Ce courriel a été envoyé depuis Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Courriel de test de Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Courriel de test" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Bien démarrer avec Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Courriel d’inscription pour l’utilisateur : %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Envoyer %(format)s vers le Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Envoyer vers Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "La suppression du livre %(id)s a échoué: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, 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:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Cet utilisateur est déjà pris" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Format de l’adresse courriel invalide" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Erreur lors du téléchargement de la couverture" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Erreur de format de couverture" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Impossible de créer le chemin pour la couverture" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Contenu du fichier de couverture invalide" -#: cps/helper.py:884 +#: cps/helper.py:922 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:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Fichier binaire Unrar non trouvé" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Une erreur est survenue lors de l'exécution d'UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Découvrir" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Veuilllez ne pas accéder à calibre-web par localhost pour obtenir un api_endpoint valide pour un appareil kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Configuration Kobo" @@ -858,7 +864,7 @@ msgstr "Configuration Kobo" msgid "Register with %(provider)s" msgstr "Enregistrer avec %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "vous êtes maintenant connecté comme : '%(nickname)s'" @@ -923,9 +929,9 @@ msgstr "Erreur Oauth Google : {}" msgid "{} Stars" msgstr "{} Étoiles" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Connexion" @@ -941,7 +947,7 @@ msgstr "Jeton expiré" msgid "Success! Please return to your device" msgstr "Réussite! Merci de vous tourner vers votre appareil" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Livres" @@ -966,7 +972,7 @@ msgstr "Livres téléchargés" msgid "Show Downloaded Books" msgstr "Montrer les livres téléchargés" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Livres les mieux notés" @@ -975,7 +981,7 @@ msgid "Show Top Rated Books" msgstr "Montrer les livres les mieux notés" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Livres lus" @@ -985,7 +991,7 @@ msgid "Show Read and Unread" msgstr "Montrer lus et non-lus" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Livres non-lus" @@ -1003,7 +1009,7 @@ msgid "Show Random Books" msgstr "Montrer des livres au hasard" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Catégories" @@ -1014,7 +1020,7 @@ msgstr "Montrer la sélection par catégories" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Séries" @@ -1034,7 +1040,7 @@ msgid "Show Author Section" msgstr "Montrer la sélection par auteur" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Éditeurs" @@ -1045,7 +1051,7 @@ msgstr "Montrer la sélection par éditeur" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Langues" @@ -1072,7 +1078,7 @@ msgstr "Formats de fichier" msgid "Show File Formats Section" msgstr "Afficher la sélection des formats de fichiers" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Livres archivés" @@ -1081,7 +1087,7 @@ msgstr "Livres archivés" msgid "Show Archived Books" msgstr "Afficher les livres archivés" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Liste des livres" @@ -1089,41 +1095,41 @@ msgstr "Liste des livres" msgid "Show Books List" msgstr "Montrer la liste des livres" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Chercher" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publié après le " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publié avant le " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Évaluation <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Évaluation >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Status de lecture = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Erreur lors de la recherche de colonnes personnalisées, veuillez redémarrer Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Recherche avancée" @@ -1174,7 +1180,7 @@ msgstr "Le livre a été supprimé de l'étagère %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "Désolé, vous n’êtes pas autorisé à supprimer un livre de cette étagère" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Créer une étagère" @@ -1201,73 +1207,73 @@ msgstr "Le livre a été supprimé avec succès" msgid "Change order of Shelf: '%(name)s'" msgstr "Modifier l’arrangement de l’étagère : ‘%(name)s’" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Étagère %(title)s créée" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "L’étagère %(title)s a été modifiée" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Il y a eu une erreur" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Étagère : '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tâches" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "En attente" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Echoué" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Débuté" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Terminé" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Statut inconnu" @@ -1300,145 +1306,173 @@ msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-desso msgid "No release information available" msgstr "Aucune information concernant cette version n’est disponible" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Découvrir (Livres au hasard)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Livres populaires (les plus téléchargés)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Livres téléchargés par %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Auteur : %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Éditeur : '%(name)s'" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Séries : %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Évaluation : %(rating)s étoiles" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Format de fichier : %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Catégorie : %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Langue : %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Téléchargements" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Liste des évaluations" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Liste de formats de fichiers" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Veuillez configurer les paramètres SMTP au préalable..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Le livre a été mis en file de traitement avec succès pour un envoi vers %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Veuillez mettre à jour votre profil avec une adresse de courriel Kindle valide." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Le serveur de courriel n'est pas configuré, veuillez contacter votre administrateur!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Créer un compte" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Le serveur de courriel n'est pas configuré, veuillez contacter votre administrateur!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Le courriel de confirmation a été envoyé à votre adresse." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Impossible d’activer l’authentification LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "vous êtes maintenant connecté comme : '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Connexion de secours comme: '%(nickname)s', le serveur LDAP est indisponible, ou l'utilisateur est inconnu" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Impossible de se connecter: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Mauvais nom d'utilisateur ou mot de passe" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Le nouveau mot de passe a été envoyé vers votre adresse de courriel" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "vous êtes maintenant connecté comme : '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Profil de %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profil mis à jour" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Un compte existant a été trouvé pour cette adresse de courriel." @@ -1498,31 +1532,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "modifier les métadonnées" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Téléverser" @@ -1546,7 +1580,7 @@ msgstr "Adresse de courriel" msgid "Send to eReader Email" msgstr "Envoyer vers une adresse de courriel Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Administration" @@ -1556,8 +1590,8 @@ msgstr "Administration" msgid "Password" msgstr "Mot de passe" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Télécharger" @@ -1702,84 +1736,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Télécharger le package de débogage" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Afficher les fichiers journaux" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Redémarrer Calibre-Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Arrêter Calibre-Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Version" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Détails" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Version actuelle" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Rechercher les mises à jour" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Effectuer la mise à jour" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Voulez-vous vraiment redémarrer Calibre-Web?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Annuler" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Voulez-vous vraiment arrêter Calibre-Web?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Mise à jour en cours, ne pas rafraîchir la page" @@ -1919,12 +1957,12 @@ msgid "Published Date" msgstr "Date de publication" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Éditeur" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Langue" @@ -1952,8 +1990,8 @@ 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:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1976,8 +2014,8 @@ msgstr "Cliquer sur la couverture pour importer les métadonnées dans le formul msgid "Loading..." msgstr "Chargement..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Fermer" @@ -2411,6 +2449,52 @@ msgstr "Chemin vers le convertisseur de livres Kepubify" msgid "Location of Unrar binary" msgstr "Chemin d’accès à la commande UnRar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Réglages OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Réinitialiser le mot de passe de l’utilisateur" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Configuration du mode d’affichage" @@ -2423,7 +2507,7 @@ msgstr "Nombre de livres choisis au hasard à afficher" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Nombre d’auteurs à afficher avant de masquer (0=désactiver le masquage)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Thème" @@ -2514,64 +2598,64 @@ msgstr "Ajouter les étiquettes autorisées/refusées" msgid "Add Allowed/Denied custom column values" msgstr "Ajouter les valeurs de colonnes autorisées/refusées" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Lire dans le navigateur" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Écouter dans le navigateur" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "Livre %(index)s sur %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publié" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Marquer comme non lu" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Marquer comme lu" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Lu" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Restaurer à partir de l'archive" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Ajouter comme archive" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Archivé" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Description :" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Ajouter à l'étagère" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Public)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Éditer les métadonnées" @@ -2644,7 +2728,7 @@ msgstr "Saisir le nom du domaine" msgid "Denied Domains (Blacklist)" msgstr "Domaines refusés (Liste noire)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Suivant" @@ -2764,7 +2848,7 @@ msgstr "Livres classés par évaluation" msgid "Books ordered by file formats" msgstr "Livres classés par formats de fichiers" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Etagères" @@ -2781,52 +2865,52 @@ msgstr "Accueil" msgid "Toggle Navigation" msgstr "Basculer la navigation" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Chercher dans librairie" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Compte" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Déconnexion" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Téléversement en cours..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Erreur" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Téléversement terminé, traitement en cours, veuillez patienter…." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Paramètres" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Veuillez ne pas rafraîchir la page" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Explorer" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "À propos" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Précédent" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Détails du livre" @@ -2952,11 +3036,11 @@ msgstr "Catalogue de livres électroniques Calibre-Web" msgid "epub Reader" msgstr "Lecteur PDF" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Clair" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Sombre" @@ -2982,111 +3066,124 @@ msgstr "" msgid "Comic Reader" msgstr "Lecteur PDF" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Page précédente" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Page suivante" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Mise à l’échelle optimale" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Mise à l’échelle sur la largeur" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Mise à l’échelle sur la hauteur" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Mise à l’échelle d’origine" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Rotation droite" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Rotation gauche" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Inverser l’image" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Page admin" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Échelle" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Optimal" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Largeur" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Hauteur" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Origine" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rotation" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Inverser" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertical" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Direction" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "De gauche à droite" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "De droite à gauche" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Réinitialiser en haut" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Se rappeler de la position" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Barre de défilement" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Montrer" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Cacher" diff --git a/cps/translations/gl/LC_MESSAGES/messages.mo b/cps/translations/gl/LC_MESSAGES/messages.mo index 119f8f1971ae24e6d6e9ef68c0c01100b5dc4096..8526aa96bf27a27681a40b7194509b125c044780 100644 GIT binary patch delta 12040 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 LZ_$+>PWk;G<7UDl delta 12873 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\n" "Language: gl\n" @@ -14,494 +14,497 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Estatísticas" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Servidor reiniciado. Por favor, recargue a páxina" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "O servidor estase apagando. Por favor, peche a xanela" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Orde descoñecida" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Libro posto na cola de envío a %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Descoñecido" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Páxina de administración" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Configuración Básica" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Configuración da Interface de Usuario" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Editar Usuarios" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Todo" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Usuario non atopado" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} usuarios borrados con éxito" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar Todo" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Petición mal formada" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "O nome do convidado non se pode cambiar" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "O convidado non pode ter este rol" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Non queda ningún usuario administrador, non se pode eliminar ao usuario" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "O Valor ten que ser verdadeiro ou falso" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Rol non válido" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "O convidado non pode ter esta vista" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Vista non válida" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "O sitio do convidado determínase automáticamente e non se pode cambiar" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Non hai unha localización válida" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Non se indicou unha lingua válida para o libro" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parámetro non atopado" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Columna de lectura non válida" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Columna restrinxida non válida" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "De verdade queres borrar o Token de Kobo?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "De verdade desexas borrar este dominio?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "De verdade queres borrar este usuario?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "De verdade queres eliminar este andel?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "De verdade queres cambiar a linguaxe dos usuarios seleccionados?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "De verdade queres cambiar as linguas visibles do libro dos usuarios seleccionados?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "De verdade queres cambiar o rol seleccionado do usuario seleccionado?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "De verdade queres cambiar as restricións escollidas dos usuarios seleccionados?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "De verdade queres cambiar as restricións de visibilidade dos usuarios seleccionados?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "De verdade queres cambiar o comportamento da sincronización do andel para o usuario seleccionado?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "De verdade queres cambiar a localización da biblioteca Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-web buscará cubertas actualizadas e miniaturas de cubertas actualizadas, isto pode levar un intre?" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Está seguro que quere borrar a base de datos de sincronización de Calibre-Web para forzar unha sincronización completa co seu lector Kobo?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Denegar" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "Elimináronse {} entradas de sincronización" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Etiqueta non atopada" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Acción non válida" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json non está configurado para a aplicación web" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do arquivo de rexistro non é válida. Por favor, Introduce a ruta correcta" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do rexistro de accesos non é válida. Por favor, Introduce a ruta correcta" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Por favor, Introduce un provedor LDAP, porto, DN e o User Object Identifier" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, introduce unha conta de servizo LDAP e o seu contrasinal" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, introduce unha conta de servizo LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita ter un identificador de formato \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "O LDAP Group Object Filter ten parénteses que non casan" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita ter un identificador de formato \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "O LDAP Group Object Filter ten parénteses que non casan" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de usuarios LDAP necesita ter un identificador de formato \"%s\"" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "O filtro de LDAP \"Member User\" ten parénteses que non casan" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "As localizacións do certificado da CA do LDAP, do certificado ou da chave non válidos. Por favor introduce a ruta correcta" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Engadir novo usuario" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Cambiar os parámetros do correo" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Error na base de datos: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, 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:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocurreu un error enviando o correo electrónico de proba: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Por favor, configure o seu correo electrónico primeiro..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Actualizáronse os axustes do servidor de correo electrónico" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar a Configuración das Tarefas Programadas" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Indicada unha hora incorrecta de comezo de tarefa" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Indicada unha duracción incorrecta para a tarefa" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Actualizouse a configuración das tarefas programadas" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Sucedeu un erro descoñecido. Por favor volva a intentalo máis tarde." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "A configuración da DB non se pode escribir" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Editar o Usuario %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Reiniciada a contrasinal para o usuario %(user)s" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Configura primeiro os parámetros do servidor SMTP..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visor do ficheiro de rexistro" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Descomprimendo paquete de actualización" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Remplazando archivos" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "As conexións coa base datos están pechadas" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Detendo o servidor" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Actualización finalizada. Por favor, prema OK e recargue a páxina" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "A actualización fallou:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Erro HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Erro de conexión" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tempo esgotado mentras se trataba de establecer a conexión" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Erro xeral" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "A actualización do arquivo non se puido gardar no directorio temporal (Temp Dir)" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Non se puideron substituír os ficheiros durante a actualización" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Erro ao extraer polo menos un usuario LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Erro ao crear polo menos un usuario LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erro: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Erro: o servidor LDAP non devolveu ningún usuario" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Polo menos, un usuario LDAP non se atopou na base de datos" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "Usuario {} importado con éxito" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "A localización da base de datos non é válida. Por favor, Introduce a ruta correcta" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "A base de datos non é modificable" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Actualizados os axustes da base de datos" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Configuración da base de datos" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Por favor, cubra todos os campos!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "O correo electrónico non ven dun dominio válido" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Engadir un usuario novo" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' eliminado" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Non se pode borrar ao Usuario Invitado" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -514,28 +517,28 @@ msgstr "non instalado" msgid "Execution permissions missing" msgstr "Faltan permisos de execución" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ningún" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "O usuario non ten permisos para subir a cuberta" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores non distinguen entre maiúsculas e minúsculas, sobrescribindo o identificador antigo" @@ -552,84 +555,84 @@ msgstr "Erro editando libro: {}" msgid "File %(file)s uploaded" msgstr "O ficheiro %(file)s subiuse" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Falta a fonte ou o formato de destino para a conversión" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non é unha lingua válida" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "O arquivo que se vai cargar debe ter unha extensión" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Vostede non ten permisos para borrar libros" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s non é un número válido, saltando" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 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:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo ao crear a ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Fallo ao gardar o arquivo %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Arquivo con formato %(ext)s engadido a %(book)s" @@ -642,183 +645,186 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non atopado: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "Enviar ao Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este correo electrónico enviouse empregando Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Correo de proba de Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Comprobar correo electrónico" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Primeiros pasos con Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Correo electrónico de rexistro para o usuario: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviado %(format)s ao Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Enviar ao Kindle %(book)s" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "O estado de lectura non pode fixarse: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "O borrado do libro %(id)s fallou: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Ficheiro %(file)s non atopado en Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Erro ao renomear o ficheiro na ruta: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Este nome de usuario xa está en uso" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Enderezo de correo non válido" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Erro ao descargar a cuberta" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Erro no formato da cuberta" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Erro ao crear unha ruta para a cuberta" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Contido do arquivo de cuberta non válido" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Soamente se admiten como cuberta os arquivos jpg/jpeg" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Non se atopa o arquivo binario de UnRar" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "Erro executando UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Descubrir" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Por favor, accede a calibre-web dende unha ubicación que non sexa localhost para obter unha api_endpoint válida para o teu dispositivo Kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Configuración de Kobo" @@ -827,7 +833,7 @@ msgstr "Configuración de Kobo" msgid "Register with %(provider)s" msgstr "Rexistrado con %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "Iniciou sesión como : '%(nickname)s'" @@ -892,9 +898,9 @@ msgstr "Erro Google Oauth {}" msgid "{} Stars" msgstr "{} Estrelas" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Inicio de sesión" @@ -910,7 +916,7 @@ msgstr "O token expirou" msgid "Success! Please return to your device" msgstr "Correcto! Por favor volte ao seu dispositivo" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Libros" @@ -935,7 +941,7 @@ msgstr "Libros descargados" msgid "Show Downloaded Books" msgstr "Mostrar libros descargados" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Libros mellor valorados" @@ -944,7 +950,7 @@ msgid "Show Top Rated Books" msgstr "Mostrar libros mellor valorados" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Libros lidos" @@ -954,7 +960,7 @@ msgid "Show Read and Unread" msgstr "Mostrar lidos e non lidos" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Libros non lidos" @@ -972,7 +978,7 @@ msgid "Show Random Books" msgstr "Mostrar libros ao chou" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Categorías" @@ -983,7 +989,7 @@ msgstr "Mostrar selección de categorías" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Series" @@ -1003,7 +1009,7 @@ msgid "Show Author Section" msgstr "Mostrar selección de autores" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Editores" @@ -1014,7 +1020,7 @@ msgstr "Mostrar selección de editores" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Linguas" @@ -1041,7 +1047,7 @@ msgstr "Formatos de arquivo" msgid "Show File Formats Section" msgstr "Mostrar selección de formatos de arquivo" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Libros arquivados" @@ -1050,7 +1056,7 @@ msgstr "Libros arquivados" msgid "Show Archived Books" msgstr "Mostrar libros arquivados" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Lista de libros" @@ -1058,41 +1064,41 @@ msgstr "Lista de libros" msgid "Show Books List" msgstr "Mostrar lista de libros" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Buscar" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publicado despóis de " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publicado antes de " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Valoración <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Valoración >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Estado de lectura = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Erro na busca de columnas personalizadas, por favor reinicia Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Búsqueda avanzada" @@ -1142,7 +1148,7 @@ msgstr "O libro eliminouse do andel: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crear un andel" @@ -1167,73 +1173,73 @@ msgstr "Andel eliminado con éxito" msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar a orde do andel: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Andel %(title)s creado" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Andel %(title)s cambiado" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Ocorreu un erro" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Andel: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tarefas" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Esperando" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Fallou" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Comezado" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Rematado" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Rematado" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Cancelado" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Estado descoñecido" @@ -1266,145 +1272,173 @@ msgstr "Hai unha nova actualización dispoñible. Preme no botón de abaixo para msgid "No release information available" msgstr "Non hai información do lanzamento dispoñible" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Descubrir (Libros ao chou)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Libros populares (os máis descargados)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Libros descargados por %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autor/es: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Editor/es: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Series: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Valoración: Ningunha" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Valoración: %(rating)s estrelas" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Formato do arquivo: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Categoría: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Lingua: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Descargas" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Lista de valoracións" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Lista de formatos" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Configura primeiro os parámetros do servidor SMTP..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Libro posto na cola de envío a %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Oh, oh! Houbo un erro no envío do libro: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Por favor actualiza o teu perfil co enderezo de correo do teu kindle..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "O servidor de correo non está configurado, por favor, avisa ao teu administrador!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Rexistro" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "O servidor de correo non está configurado, por favor, avisa ao teu administrador!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "O seu correo electrónico non está permitido para rexistrarse" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Mandouse un correo electrónico de verificación á súa conta de correo." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Non se pode activar a autenticación LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Iniciou sesión como : '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback login como: '%(nickname)s', non se pode acceder ao servidor LDAP ou usuario descoñecido" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Non se puido entrar: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Usuario ou contrasinal no válido" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Unha nova contrasinal enviouse ao seu enderezo de correo electrónico" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Sucedeu un erro descoñecido. Por favor volva a intentalo máis tarde." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Por favor, introduce un usuario válido para restablecer a contrasinal" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "Iniciou sesión como : '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Perfil de %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Perfil actualizado" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Atopada unha conta existente para ese enderezo de correo electrónico" @@ -1463,31 +1497,31 @@ msgstr "Reconectando a base de datos de Calibre" msgid "E-mail" msgstr "Correo electrónico" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "editar metadatos" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "Xeradas %(count)s miniaturas de cubertas" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Miniaturas de cubertas" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "Xeradas {0} miniaturas de series" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Limpando caché de miniaturas de cubertas" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Subir arquivo" @@ -1510,7 +1544,7 @@ msgstr "Enderezo de correo electrónico" msgid "Send to eReader Email" msgstr "Enviar ao enderezo de correo electrónico do Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Administrador" @@ -1520,8 +1554,8 @@ msgstr "Administrador" msgid "Password" msgstr "Contrasinal" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Descargar" @@ -1665,84 +1699,88 @@ msgstr "Xerar as miniaturas das cubertas dos libros" msgid "Generate series cover thumbnails" msgstr "Xerar as miniaturas das cubertas das series" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Reconectar á librería de Calibre" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "Refrescar a caché de miniaturas das cubertas" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administración" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Descargar o paquete de depuración" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Ver arquivos de rexistro" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Reiniciar" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Apagar" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Información de versión" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versión" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detalles" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Versión actual" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Comprobar actualizacións" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Realizar actualización" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "De verdade queres reiniciar?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Vale" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Cancelar" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "De verdade quere deter?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Actualizando. Por favor, non recargue a páxina" @@ -1882,12 +1920,12 @@ msgid "Published Date" msgstr "Data de publicación" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editor" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lingua" @@ -1915,8 +1953,8 @@ msgid "Fetch Metadata" msgstr "Obter metadatos" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1938,8 +1976,8 @@ msgstr "Premer na portada para cargar los metadatos no formulario" msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Pechar" @@ -2370,6 +2408,52 @@ msgstr "Ruta para Kepubify E-Book Converter" msgid "Location of Unrar binary" msgstr "Localización do binario de Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Axustes OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Restablecer contrasinal de usuario" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Ver configuración" @@ -2382,7 +2466,7 @@ msgstr "Número de libros aleatorios a mostrar" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Número de autores para mostrar antes de agochar (0 = desactivar o agochamento)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2471,64 +2555,64 @@ msgstr "Engadir etiquetas Permitidas/denegados" msgid "Add Allowed/Denied custom column values" msgstr "Engadir valores personalizados Permitidos/denegados" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Ler no navegador" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Escoitar no navegador" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Libro %(index)s de %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publicado" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Marcar como non lido" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Marcar como lido" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Lido" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Restaurar dende o arquivo" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Engadir a arquivo" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Arquivado" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Descrición:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Engadir ao andel" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Editar metadatos" @@ -2601,7 +2685,7 @@ msgstr "Introducir nome de dominio" msgid "Denied Domains (Blacklist)" msgstr "Dominios prohibidos (Blaclist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Seguinte" @@ -2719,7 +2803,7 @@ msgstr "Libros ordeados por valoración" msgid "Books ordered by file formats" msgstr "Libros ordeados por formato de arquivo" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Andeis" @@ -2736,52 +2820,52 @@ msgstr "Inicio" msgid "Toggle Navigation" msgstr "Alternar navegación" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Buscar na librería" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Conta" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Pechar sesión" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Cargando..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Erro" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Carga feita, procesando, por favor agarde..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Axustes" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Por favor, non actualice a páxina" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Navegar" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Acerca de" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Previo" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Detalles do libro" @@ -2905,11 +2989,11 @@ msgstr "Catálogo de libros electrónicos de Calibre-Web" msgid "epub Reader" msgstr "Lector epub" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Claro" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Oscuro" @@ -2933,111 +3017,124 @@ msgstr "" msgid "Comic Reader" msgstr "Lector de Cómics" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Atallos de teclado" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Páxina anterior" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Páxina seguinte" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Escalar ao mellor" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Escalar ao ancho" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Escalar ao alto" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Escalado nativo" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Xirar cara a dereita" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Xirar cara a esquerda" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Voltear a imaxe" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Páxina de administración" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Escalar" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Mellor" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Ancho" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Alto" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Nativo" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rotar" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Voltear" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertical" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Dirección" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "De esquerda a dereita" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "De dereita a esquerda" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Voltar ao comezo" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Lembrar posición" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Barra de desprazamento" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Mostrar" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Agochar" diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo index f951d0ffd45907fd0f7287e07a048915f7a7d433..8e4ae10216a06ce3b528aba0563f18917d2a3759 100644 GIT binary patch delta 5392 zcmYM%32;}%9l-I8At3~ENJ8W^7gsowKok&x0un(GxvzQ^umvhr4iR+pt^5kD=%qH)Kc7Yt8+a`iq5}t^8BRwho*nxDIzbgW z;i~xh3us`kpj-C_rr|qiMgJN1KSgp2XR!&Ux1;_(klT)Iu^U>Nk!XZ-(E;<(N>rmI zd=6c33tFky(Jg!%`4^7!!>#xZO)Q%q&eIdE$Ov?6rX*-s+8O9X3vmEGjApnK9qs-?dbReasS`wmVAvK>ML?FaGj;)be|hXPXkhEn32M;q!B(VbVGkPcXXrfVkbfbia|jeCbVt7@ zW3dwN=uG{cU;`K2yX|O%hp;jJ7Y*PmG}DV{plO^a%|a*4L!T?cH0+61tPdLKu(&@4 zo6x@#`{Jww4NJcsUGNk-!KavlXVHniMFUOl5}AVrRE!2vjy~5n?pLCR_*QgFW}+2Y zga*6@Yh8eFzPxZFggXq9d&<8J|3;L_g>seTUh3LeC|*MM<;v)U1&KP;7V+GJJ7AHiQOH0 z9Nn68Xkr&J;RILW8;uFyiL%j8Y7u(B0v&K8CgTuvt18jJ#-eB7uDHK2b}5?3O3cQ! z==hEJt0evavHl~ukVpExaXJ?HAR5Rn{5c-Pd$9}qWCm-|1=nFy+>U1aHu{A;fjM{) z4KRbr{Tm&MrGFKfBOE~|NUMncc59EGk+IkWA4ESu zRak}_kfMg;=zM9{MU^Z@6X=Qt+B-qR5{*L-$5gcB^U(@CjPCW5=y&2-q!{5SGIvPh zdtHeGa2hT{uYZJ|`j-4caG^=)?}P`i0N2L-#E!V}0p@YzGP+C&h*o9*=Ho0} zfy>cM@`%a>^3jqGK%XCtE$|_9+#iu`53isV`w%mI|G%W+7W{w?$mEx^1KOkgq3Hdo z$RlAcl3dt`R_H_Yx$|+qN&l#VZP0m&(TWX0b}>AF2EGZiegErdwBo`$Xa!Cqk%jNj z2UBj04p}C8>RZSC4rocs;_Ktk1@AyB_$XS5KcHu2I~vHz_tniXX9z?gnvd4*B&&JZ;@RHT?R&f;mp7`^sCX=>?O>_&FFVw4-UnB==>RjsJ{;s z(C|V9I>F88Ycm5!;XE{x-FOXti8C?zXHmswp#d$yDYy+uGGy^r2}KN}(26{PzOHM~ zty@2s`n$K=xZvU0k41O_y?z zY>d5!M`xoy-bQ~Mj>Q+y`7a>PCBkJImM&#PRMH&u5Vl1RO&|3Az6m|7)6lbWADZc7 zn2M|8>(8PAY(h)E6`ki@wB$!(&tgm8|MXj;y(&fr_D3fkik|j~=qa9yeit^OCEST- zeiBPDoqBrz2K)t%Km(}7w)hrW!Bf~Cb4Kz139KLb&@i)!*bL`j6MPWOv?6fs~^6E76LLMl+s@CUg&arhYSq`qK`-d}gwLFf4fJKz;G;SQ4; z0vQ(uMU5~LEy-jw^V_in&c$o+akMheq4&3;d%72$upX_<*ORs$$X%bkdS!?Dt*bho yP0#4vz3jSzvWkAC6MzO9YDhX delta 5614 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 diff --git a/cps/translations/hu/LC_MESSAGES/messages.po b/cps/translations/hu/LC_MESSAGES/messages.po index 52b7cb0e..ce1b6b3f 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2019-04-06 23:36+0200\n" "Last-Translator: \n" "Language: hu\n" @@ -16,502 +16,504 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statisztika" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "A kiszolgáló újraindult, tölts be újra az oldalt!" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "A kiszolgáló leállítása folyamatban, zárd be ezt az ablakot" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "" -#: cps/admin.py:167 -#, fuzzy -msgid "Success! Books queued for Metadata Backup" +#: cps/admin.py:169 +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Ismeretlen" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Rendszergazda oldala" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Alapvető beállítások" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Felhasználói felület beállításai" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Rendszergazda felhasználó" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mindent mutass" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "A Calibre-Web konfigurációja frissítve." -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Valóban le akarod állítani a Calibre-Web-et?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP beállítások változtatása" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Hiba történt a teszt levél küldése során: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Az e-mail kiszolgáló beállításai frissítve." -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ismeretlen hiba történt. Próbáld újra később!" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr " A felhasználó szerkesztése: %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Először be kell állítani az SMTP levelező beállításokat..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Frissítési csomag kérése" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Frissítési csomag letöltése" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Frissítési csomag kitömörítése" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Fájlok cserélése" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Adatbázis kapcsolatok lezárva" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Szerver leállítása" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "A frissítés települt, kattints az OK-ra és újra tölt az oldal" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "A frissítés nem sikerült:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP hiba" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Kapcsolódási hiba" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Időtúllépés a kapcsolódás során" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Általános hiba" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Az e-mail kiszolgáló beállításai frissítve." -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Funkciók beállítása" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Az összes mezőt ki kell tölteni!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Az e-mail tartománya nem érvényes." -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Új felhasználó hozzáadása" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "A következő felhasználó létrehozva: %(user)s" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "A felhasználó törölve: %(nick)s" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "A felhasználó frissítve: %(nick)s" @@ -524,28 +526,28 @@ msgstr "nincs telepítve" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Nincs" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -562,84 +564,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 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:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "A(z) %(langname)s nem érvényes nyelv" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "A feltöltendő fájlnak kiterjesztéssel kell rendelkeznie!" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "Metaadatok szerkesztése" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, 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:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Nem sikerült elmenteni a %(file)s fájlt." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, 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." @@ -652,183 +654,186 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nem található: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Küldés Kindle-re" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, 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:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web teszt e-mail" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Teszt e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Kezdő lépések a Calibre-Web-bel" -#: cps/helper.py:137 +#: cps/helper.py:138 #, 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:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s küldése Kindle-re" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Küldés Kindle-re" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, 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:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Felfedezés" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -837,7 +842,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "Be vagy jelentkezve mint: %(nickname)s" @@ -902,9 +907,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Belépés" @@ -920,7 +925,7 @@ msgstr "A token érvényessége lejárt." msgid "Success! Please return to your device" msgstr "Sikerült! Újra használható az eszköz." -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "" @@ -945,7 +950,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Legjobb könyvek" @@ -954,7 +959,7 @@ msgid "Show Top Rated Books" msgstr "Legjobbra értékelt könyvek mutatása" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Olvasott könyvek" @@ -964,7 +969,7 @@ msgid "Show Read and Unread" msgstr "Mutassa az olvasva/olvasatlan állapotot" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Olvasatlan könyvek" @@ -982,7 +987,7 @@ msgid "Show Random Books" msgstr "Mutass könyveket találomra" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Címkék" @@ -993,7 +998,7 @@ msgstr "Címke választó mutatása" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Sorozatok" @@ -1013,7 +1018,7 @@ msgid "Show Author Section" msgstr "Szerző választó mutatása" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Kiadók" @@ -1024,7 +1029,7 @@ msgstr "Kiadó választó mutatása" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Nyelvek" @@ -1051,7 +1056,7 @@ msgstr "" msgid "Show File Formats Section" msgstr "Sorozat választó mutatása" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1060,7 +1065,7 @@ msgstr "" msgid "Show Archived Books" msgstr "Legutóbbi könyvek mutatása" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1068,41 +1073,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Keresés" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Kiadva ezután: " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Kiadva ezelőtt: " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Értékelés <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Értékelés <= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Részletes keresés" @@ -1153,7 +1158,7 @@ msgstr "A könyv el lett távolítva a polcról: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Polc készítése" @@ -1180,73 +1185,73 @@ msgstr "A metaadatok sikeresen frissültek" msgid "Change order of Shelf: '%(name)s'" msgstr "A következő polc átrendezése: %(name)s" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "A következő polc létre lett hozva: %(title)s" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "A következő polc megváltoztatva: %(title)s" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Hiba történt" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Polc: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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ő." -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Feladatok" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Várakozás" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Nem sikerült" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Elindítva" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Végrehajtva" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Ismeretlen állapot" @@ -1279,145 +1284,171 @@ msgstr "Új frissítés érhető el. Kattints az alábbi gombra a frissítéshez msgid "No release information available" msgstr "Nincs információ a kiadásról." -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Felfedezés (könyvek találomra)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Kelendő könyvek (legtöbbet letöltöttek)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Kiadó: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Sorozat: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Címke: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Nyelv: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Letöltések" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Először be kell állítani az SMTP levelező beállításokat..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "A könyv sikeresen küldésre lett jelölve a következő címre: %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Hiba történt a könyv küldésekor: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Először be kell állítani a kindle e-mail címet..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Regisztrálás" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Jóváhagyó levél elküldve az email címedre." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" +msgstr "" + +#: cps/web.py:1344 +msgid "Please wait one minute before next login" msgstr "" -#: cps/web.py:1303 +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Be vagy jelentkezve mint: %(nickname)s" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Rossz felhasználó név vagy jelszó!" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" -msgstr "" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Ismeretlen hiba történt. Próbáld újra később!" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" +msgstr "Rossz felhasználó név vagy jelszó!" + +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "Be vagy jelentkezve mint: %(nickname)s" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s profilja" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "A profil frissítve." -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Már létezik felhasználó ehhez az e-mail címhez." @@ -1477,31 +1508,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "Metaadatok szerkesztése" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Feltöltés" @@ -1525,7 +1556,7 @@ msgstr "E-mail" msgid "Send to eReader Email" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Rendszergazda" @@ -1535,8 +1566,8 @@ msgstr "Rendszergazda" msgid "Password" msgstr "Jelszó" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Letöltés" @@ -1680,84 +1711,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Adminisztráció" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "A Calibre adatbázis újraindítása" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "A Calibre adatbázis leállítása" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Verzió" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Részletek" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Jelenlegi verzió" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Frissítés keresése" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Frissítés elkezdése" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Valóban újra akarod indítani a Calibre-Web-et?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Valóban le akarod állítani a Calibre-Web-et?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Frissítés folyamatban, ne töltsd újra az oldalt" @@ -1897,12 +1932,12 @@ msgid "Published Date" msgstr "Kiadás éve" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Kiadó" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Nyelv" @@ -1930,8 +1965,8 @@ msgid "Fetch Metadata" msgstr "Metaadatok beszerzése" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1954,8 +1989,8 @@ msgstr "Kattints a borítóra a metadatok betöltésére" msgid "Loading..." msgstr "Betöltés..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Bezárás" @@ -2388,6 +2423,51 @@ msgstr "" msgid "Location of Unrar binary" msgstr "Az Unrar futtatási állományának helye" +#: cps/templates/config_edit.html:361 +msgid "Security Settings" +msgstr "" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Felhasználó jelszavának alaphelyzetbe állítása" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Általános beállítások" @@ -2400,7 +2480,7 @@ msgstr "Találomra mutatott könyvek száma" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Mutatott szerzők száma (0=elrejtés kikapcsolása)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Téma" @@ -2491,64 +2571,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Olvasás böngészőben" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Legyen olvasatlan" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Legyen olvasott" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Olvasva" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Ismertető:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Hozzáadás polchoz" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Metaadatok szerkesztése" @@ -2620,7 +2700,7 @@ msgstr "Tartomány megadása" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Következő" @@ -2738,7 +2818,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2755,52 +2835,52 @@ msgstr "Kezdőlap" msgid "Toggle Navigation" msgstr "Navigáció átkapcsolása" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Felhasználói fiók" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Kilépés" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Feltöltés..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Hiba" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Feltöltés kész, feldolgozás alatt, kérlek várj..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Beállítások" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Böngészés" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Névjegy" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Előző" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Könyv részletei" @@ -2925,11 +3005,11 @@ msgstr "Calibre-Web e-könyv katalógus" msgid "epub Reader" msgstr "" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Világos" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Sötét" @@ -2954,111 +3034,124 @@ msgstr "" msgid "Comic Reader" msgstr "" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Gyorsbillentyűk" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Előző oldal" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Következő oldal" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Méretezés a legjobbra" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Méretezés a szélességre" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Méretezés a magasságra" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Méretezés a natívra" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Forgatás balra" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Forgatás jobbra" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Kép tükrözése" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Rendszergazda oldala" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Méretezés" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Legjobb" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Szélesség" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Magasság" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Natív" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Forgatás" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Tökrözés" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Vízszintes" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Függőleges" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/id/LC_MESSAGES/messages.mo b/cps/translations/id/LC_MESSAGES/messages.mo index 6da595cbfa3cc07dc3cd4c87698fba1cacd43c47..09fb490b6f3f1a479cf7483471e815af4ec524a6 100644 GIT binary patch delta 12056 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 delta 12900 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 diff --git a/cps/translations/id/LC_MESSAGES/messages.po b/cps/translations/id/LC_MESSAGES/messages.po index fa79da8f..12ec0b73 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2023-01-21 10:00+0700\n" "Last-Translator: Arief Hidayat\n" "Language: id\n" @@ -16,494 +16,497 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistik" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Server dimulai ulang, harap muat ulang halaman" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Mematikan server, silakan tutup jendela" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Perintah tidak diketahui" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Buku berhasil diantrekan untuk Pencadangan Metadata" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Tidak diketahui" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Halaman Admin" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Pengaturan Dasar" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Pengaturan Antarmuka" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Edit pengguna" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Semua" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Pengguna tidak ditemukan" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} pengguna berhasil dihapus" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Tampilkan semua" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Permintaan salah" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Nama Tamu tidak dapat diganti" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Tamu tidak dapat memiliki peran ini" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Tidak ada pengguna admin yang tersisa, tidak dapat menghapus peran admin" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Nilai harus benar atau salah" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Peran tidak valid" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr " Tamu tidak dapat mengakses tampilan ini" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr " Tampilan tidak valid" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Lokal Tamu ditentukan secara otomatis dan tidak dapat disetel" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Tidak Ada Lokal yang Valid Diberikan" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Tidak Ada Bahasa Buku yang Valid Diberikan" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parameter tidak ditemukan" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Kolom Baca Tidak Valid" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Kolom Dibatasi Tidak Valid" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Pengaturan Calibre-Web telah diperbarui" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Apakah Anda yakin ingin menghapus Token Kobo?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Apakah Anda yakin ingin menghapus domain ini?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Apakah Anda yakin ingin menghapus pengguna ini?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Apakah Anda yakin ingin menghapus rak ini?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Apakah Anda yakin ingin merubah lokalisasi untuk pengguna yang dipilih?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Apakah Anda yakin ingin merubah bahasa buku yang terlihat untuk pengguna yang dipilih?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Apakah Anda yakin ingin merubah peran untuk pengguna yang dipilih?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Apakah Anda yakin ingin mengubah batasan yang dipilih untuk pengguna yang dipilih?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Apakah Anda yakin ingin merubah batasan visibilitas untuk pengguna yang dipilih?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Apakah Anda yakin ingin mengubah perilaku sinkronisasi rak untuk pengguna yang dipilih?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Apakah Anda yakin ingin mengubah lokasi perpustakaan Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web akan mencari Sampul yang diperbarui dan memperbarui Thumbnail Sampul, ini mungkin memakan waktu cukup lama?" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Apakah Anda yakin ingin menghapus database sinkronisasi Calibre-Web untuk memaksakan sinkronisasi penuh dengan Kobo Reader Anda?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Tolak" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Izinkan" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} entri sinkronisasi dihapus" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Tag tidak ditemukan" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Tindakan Tidak Valid" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Tidak Diatur Untuk Aplikasi Web" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Logfile tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Akses Logfile Catatan tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Harap Masukkan Provider LDAP, Port, DN dan User Obect Identifier" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Masukkan Akun Layanan LDAP dan Kata Sandi" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Masukkan Akun Layanan LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filter Objek Grup LDAP Harus Memiliki Satu Pengidentifikasi Format \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filter Objek Grup LDAP Memiliki Tanda kurung yang Tak Berpasangan" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter Objek Pengguna LDAP harus Memiliki Satu Pengidentifikasi Format \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filter Objek Pengguna LDAP Memiliki Tanda kurung yang Tak Berpasangan" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter Pengguna Anggota LDAP harus Memiliki Satu Pengenal Format \"%s\"" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filter Pengguna Anggota LDAP Memiliki Tanda Kurung yang Tak Berpasangan" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Lokasi LDAP Sertifikat CA, Sertifikat, atau Kunci tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Tambah Pengguna Baru" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Edit Pengaturan Server Email" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Kesalahan basis data: %(error)s" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Uji email diantrean untuk dikirim ke %(email), harap periksa Tasks untuk hasilnya" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Terjadi kesalahan saat mengirim email tes: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Harap atur alamat email Anda terlebih dahulu.." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Setelan server email diperbarui" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Edit Pengaturan Tugas Terjadwal" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Waktu mulai tidak valid untuk tugas yang ditentukan" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Durasi tidak valid untuk tugas yang ditentukan" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Pengaturan tugas terjadwal diperbarui" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Terjadi kesalahan yang tidak diketahui. Coba lagi nanti." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "Pengaturan DB tidak dapat ditulisi" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Edit pengguna %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Kata sandi untuk pengaturan ulang pengguna %(user) " -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Harap atur pengaturan email SMTP terlebih dahulu..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Penampil berkas log" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Meminta paket pembaruan" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Mengunduh paket pembaruan" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Mengekstrak paket pembaruan" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Mengganti berkas" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Koneksi basis data ditutup" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Menghentikan server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Pembaruan selesai, silakan tekan OK dan muat ulang halaman" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Pembaruan gagal:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Kesalahan HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Kesalahan koneksi" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Batas waktu saat membuat koneksi" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Kesalahan umum" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "Berkas pembaruan tidak dapat disimpan di direktori temp" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Berkas tidak dapat diganti selama pembaruan" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Gagal mengekstrak setidaknya Satu Pengguna LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Gagal Membuat Sedikitnya Satu Pengguna LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Kesalahan: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Error: Tidak ada pengguna yang dikembalikan sebagai respons dari server LDAP" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Setidaknya Satu Pengguna LDAP Tidak Ditemukan di Basis Data" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Pengguna Berhasil Diimpor" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Basis Data tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Basis Data tidak dapat ditulisi" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi keyfile tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Sertifikat tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Pengaturan Basis Data diperbarui" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Pengaturan Basis Data" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Harap masukkan seluruh isian!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Email bukan dari domain yang valid" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Tambahkan pengguna baru" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Pengguna '%(user)s' telah dibuat" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Pengguna '%(nick)s' telah dihapus" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Tidak dapat menghapus Pengguna Tamu" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Tidak ada pengguna admin tersisa, tidak dapat menghapus pengguna" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 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:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Pengguna '%(nick)s' diperbarui" @@ -516,28 +519,28 @@ msgstr "belum dipasang" msgid "Execution permissions missing" msgstr "Izin eksekusi hilang" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Tidak ada" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "Pengguna tidak berhak mengganti sampul" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" @@ -554,84 +557,84 @@ msgstr "Kesalahan pengeditan buku: {}" msgid "File %(file)s uploaded" msgstr "Berkas %(file)s telah diunggah" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Format sumber atau tujuan untuk konversi tidak ada" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Terjadi kesalahan saat mengonversi buku ini: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' bukan bahasa yang valid" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Berkas yang akan diunggah harus memiliki ekstensi" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Gagal Memindahkan Berkas Sampul %(file)s: %(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Format Buku Berhasil Dihapus" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Buku Berhasil Dihapus" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Anda tidak memiliki izin untuk menghapus buku" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "edit metadata" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s dilewati karena bukan angka yang valid" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "Pengguna tidak memiliki izin untuk mengunggah format berkas tambahan" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Gagal membuat jalur %(path)s (Izin ditolak)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Gagal menyimpan berkas %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format berkas %(ext)s ditambahkan ke %(book)s" @@ -644,184 +647,187 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s tidak ditemukan: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "Kirim ke E-Reader" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Email ini telah dikirim melalui Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Email tes Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Email tes" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Memulai dengan Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Email pendaftaran untuk pengguna: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Kirim %(format)s ke E-Reader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%%(buku)s telah dikirim ke E-Reader" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Berkas yang diminta tidak dapat dibaca. Mungkin izinnya salah?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "Status baca tidak bisa disetel: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Gagal menghapus buku %(id)s: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Berkas %(file)s tidak ditemukan di Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Kesalahan dalam mengganti nama berkas di jalur: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Nama pengguna ini sudah digunakan" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Format alamat email tidak valid" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Kesalahan Mengunduh Sampul" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Kesalahan Format Sampul" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Gagal membuat jalur untuk sampul" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Konten berkas sampul tidak valid" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Hanya berkas jpg/jpeg yang didukung sebagai berkas sampul" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Berkas biner unrar tidak ditemukan" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Kesalahan saat menjalankan UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Sampul" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Antrian semua buku untuk cadangan metadata" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Mohon akses calibre-web dari non localhost untuk mendapatkan api_endpoint yang valid untuk perangkat kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Pengaturan Kobo" @@ -830,7 +836,7 @@ msgstr "Pengaturan Kobo" msgid "Register with %(provider)s" msgstr "Daftar dengan %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "Anda sekarang login sebagai: %(nickname)s" @@ -895,9 +901,9 @@ msgstr "Kesalahan Google OAuth: {}" msgid "{} Stars" msgstr "{}★" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Masuk" @@ -913,7 +919,7 @@ msgstr "Token telah kedaluwarsa" msgid "Success! Please return to your device" msgstr "Berhasil! Silakan kembali ke perangkat Anda" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Buku" @@ -938,7 +944,7 @@ msgstr "Buku yang Diunduh" msgid "Show Downloaded Books" msgstr "Tampilkan Buku yang Diunduh" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Buku Berperingkat Teratas" @@ -947,7 +953,7 @@ msgid "Show Top Rated Books" msgstr "Tampilkan Buku Berperingkat Teratas" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Buku Telah Dibaca" @@ -957,7 +963,7 @@ msgid "Show Read and Unread" msgstr "Tampilkan sudah dibaca dan belum dibaca" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Buku yang Belum Dibaca" @@ -975,7 +981,7 @@ msgid "Show Random Books" msgstr "Tampilkan Buku Acak" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategori" @@ -986,7 +992,7 @@ msgstr "Tampilkan pilihan kategori" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Seri" @@ -1006,7 +1012,7 @@ msgid "Show Author Section" msgstr "Tampilkan pilihan penulis" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Penerbit" @@ -1017,7 +1023,7 @@ msgstr "Tampilkan pilihan penerbit" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Bahasa" @@ -1044,7 +1050,7 @@ msgstr "Format berkas" msgid "Show File Formats Section" msgstr "Tampilkan pilihan format berkas" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Buku yang Diarsipkan" @@ -1053,7 +1059,7 @@ msgstr "Buku yang Diarsipkan" msgid "Show Archived Books" msgstr "Tampilkan buku yang diarsipkan" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Daftar Buku" @@ -1061,41 +1067,41 @@ msgstr "Daftar Buku" msgid "Show Books List" msgstr "Tampilkan Daftar Buku" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Telusuri" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Terbit setelah " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Terbit sebelum " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Peringkat ≤ %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Peringkat ≥ %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Status Baca = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Terjadi kesalahan saat mencari kolom khusus, harap mulai ulang Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Penelusuran Lanjutan" @@ -1145,7 +1151,7 @@ msgstr "Buku telah dihapus dari rak: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Buat Rak" @@ -1170,73 +1176,73 @@ msgstr "Rak berhasil dihapus" msgid "Change order of Shelf: '%(name)s'" msgstr "Ubah urutan Rak: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "Maaf, Anda tidak diizinkan membuat rak publik" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Rak %(title)s dibuat" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Rak %(title)s diubah" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Ada kesalahan" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Rak: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tugas" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Menunggu" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Gagal" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Dimulai" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Selesai" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Berakhir" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Dibatalkan" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Status Tidak Diketahui" @@ -1269,145 +1275,173 @@ msgstr "Pembaruan tersedia. Klik tombol di bawah untuk memperbarui ke versi: %(v msgid "No release information available" msgstr "Tidak ada informasi rilis yang tersedia" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Temukan (Buku Acak)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Buku Populer (Paling Banyak Diunduh)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Buku telah diunduh oleh %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Penulis: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Penerbit: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Seri: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Peringkat: Tidak ada" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Peringkat: %(rating)s★" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Format berkas: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Bahasa: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Unduhan" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Daftar peringkat" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Daftar format berkas" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Harap atur pengaturan email SMTP terlebih dahulu..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Buku telah diantrikan untuk dikirim ke %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Oops! Terjadi kesalahan saat mengirim buku: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Harap perbarui profil Anda dengan alamat e-mail Kirim ke Kindle yang valid." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Server email belum diatur, silakan hubungi administrator!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Daftar" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Server email belum diatur, silakan hubungi administrator!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Alamat email Anda tidak diizinkan untuk mendaftar" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "E-mail konfirmasi telah dikirimkan ke alamat email Anda." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Tidak dapat mengaktifkan autentikasi LDAP." -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Anda sekarang login sebagai: %(nickname)s" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Login Pengganti sebagai: '%(nickname)s', Server LDAP tidak dapat dijangkau, atau pengguna tidak diketahui." -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Tidak dapat login: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Pengguna atau Kata Sandi salah" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Kata Sandi baru telah dikirimkan ke alamat email Anda" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Terjadi kesalahan yang tidak diketahui. Coba lagi nanti." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Harap masukkan pengguna valid untuk mengatur ulang kata sandi" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "Anda sekarang login sebagai: %(nickname)s" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Profil %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profil diperbarui" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Ditemukan akun yang ada untuk alamat email ini" @@ -1466,31 +1500,31 @@ msgstr "Menghubungkan kembali basis data Calibre" msgid "E-mail" msgstr "Email" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "Mencadangkan Metadata" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "%(count)s thumbnail sampul dibuat" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Thumbnail Sampul" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "{0} thumbnail seri dihasilkan" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Menghapus cache thumbnail sampul" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Unggah" @@ -1513,7 +1547,7 @@ msgstr "Alamat Email" msgid "Send to eReader Email" msgstr "Alamat E-mail untuk Kirim ke E-Reader" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1523,8 +1557,8 @@ msgstr "Admin" msgid "Password" msgstr "Kata Sandi" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Unduh" @@ -1668,84 +1702,88 @@ msgstr "Buat thumbnail sampul buku" msgid "Generate series cover thumbnails" msgstr "Buat thumbnail sampul seri" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Sambungkan kembali ke Perpustakaan Caliber" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "Segarkan Cache Thumbnail Sampul" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administrasi" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Unduh Paket Debug" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Tampilkan Log" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Mulai Ulang" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Matikan" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Informasi Versi" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versi" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detail" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Versi saat ini" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Periksa Pembaruan" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Lakukan Pembaruan" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Apa Anda yakin untuk memulai ulang?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Batal" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Apa Anda yakin untuk mematikan layanan?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Memperbarui, jangan memuat ulang halaman ini" @@ -1885,12 +1923,12 @@ msgid "Published Date" msgstr "Tanggal Terbit" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Penerbit" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Bahasa" @@ -1918,8 +1956,8 @@ msgid "Fetch Metadata" msgstr "Ambil Metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1941,8 +1979,8 @@ msgstr "Klik sampul untuk memuat metadata ke formulir" msgid "Loading..." msgstr "Memuat..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Tutup" @@ -2373,6 +2411,52 @@ msgstr "Jalur ke Konverter E-Book Kepubify" msgid "Location of Unrar binary" msgstr "Lokasi binari Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Pengaturan OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Atur ulang kata sandi pengguna" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Pengaturan Tampilan" @@ -2385,7 +2469,7 @@ msgstr "Jumlah Buku Acak untuk Ditampilkan" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Jumlah Penulis untuk Ditampilkan Sebelum Disembunyikan (0=Nonaktifkan Penyembunyian)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2474,64 +2558,64 @@ msgstr "Tambahkan Tag yang Diizinkan/Ditolak" msgid "Add Allowed/Denied custom column values" msgstr "Tambahkan nilai kolom khusus yang Diizinkan/Ditolak" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Baca di Peramban" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Dengarkan di Browser" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Buku" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Diterbitkan" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Tandai sebagai Belum dibaca" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Tandai sebagai dibaca" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Baca" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Pulihkan dari arsip" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Tambahkan ke Arsip" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Diarsipkan" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Deskripsi:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Tambah ke rak" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Publik)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Edit Metadata" @@ -2604,7 +2688,7 @@ msgstr "Masukkan Nama Domain" msgid "Denied Domains (Blacklist)" msgstr "Domain yang Ditolak (Daftar Hitam)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Selanjutnya" @@ -2722,7 +2806,7 @@ msgstr "Buku yang diurutkan menurut Peringkat" msgid "Books ordered by file formats" msgstr "Buku yang diurutkan menurut format berkas" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Rak" @@ -2739,52 +2823,52 @@ msgstr "Beranda" msgid "Toggle Navigation" msgstr "Alihkan Navigasi" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Cari di Pustaka" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Akun" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Keluar" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Mengunggah..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Terjadi Kesalahan" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Unggahan selesai, harap tunggu, data sedang diproses..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Pengaturan" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Harap jangan segarkan halaman" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Jelajahi" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Tentang" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Sebelumnya" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Detail Buku" @@ -2908,11 +2992,11 @@ msgstr "Katalog eBook Calibre-Web" msgid "epub Reader" msgstr "Pembaca EPUB" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Terang" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Gelap" @@ -2936,111 +3020,124 @@ msgstr "" msgid "Comic Reader" msgstr "Pembaca Komik" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Pintasan Keyboard" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Halaman Sebelumnya" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Halaman Selanjutnya" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Skala ke Terbaik" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Skala ke Lebar" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Skala ke Tinggi" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Skalakan ke Asli" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Putar ke Kanan" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Putar ke Kiri" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Balikkan Gambar" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Halaman Admin" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Skala" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Terbaik" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Lebar" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Tinggi" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Asli" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Putar" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Balik" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertical" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Arah Baca" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Kiri ke Kanan" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Kanan ke Kiri" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Atur Ulang ke Atas" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Ingat Posisi" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Scrollbar" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Tampilkan" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Sembunyikan" diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo index 30e4d595e9fe705cfa910e88100b00702f31358a..507666cc083d85ae12f3507b23615f7a2b178b0e 100644 GIT binary patch delta 12695 zcmYM(2Yk=h{>SleBodKGh(rY8CkdHCM1t5WRt2%Es8V}Z&FYt{TGWnNMO|W)t29+= zR?Sk^7PYsk4z0Fy;J)6@`9J=B^l_i(obUOb@j0LKO`3b?s`tV3-tN^9p9K#86!vzU zGB~KDYXASwt}2cbL3KCkQ9h>NLyX2KDoL1$djAa!!8x|R3O&@n#L9RBD`K&#FY2yS zgF+!1`e6qgjvetZ*2J=@j#C3WV?msY^>7jTVZQYmvIplLhT{W_Mek~C4ihm5(=ia6 zV5s9dPBsN~>}wy)Ms@tq);FLg-i{h*kM(O*zq1&Ow@?dsgzEnowUDP6f?;W#>!-a_?zhW=PA-PB8?7M6^PY#m$A#8B!T zus04sS0O$@p*H$gcbrz3iS2Mcw#4tSJ67WyUcwwq#Oqid0~tgcNX8P_7L^nIFbo%9 z1a3fIJct4KO-YT+)H z!bP_JDQW>nF%oav=LPDR{*f*Py^w}Fvo=^7dte0|j|$mJRKInoknhJhyn`_qRM&Bu zVk#EH@u;JiiR!-^wU9&D9j{|gbn9`KwDOgxiM~K3)0e27A4N@k4wY;Vk<)R!>ziz@ zgPNcf>L`bzl58SsAq%i9uEhp;2$dU!s1RY-Nu!`MtA)zeW~f`x7ByfGRBjBzsyGJK ze*s=rTTlf*?)M-qlQiX<$@{7xnXEuar7RHHEp z7h-w*0(CT(Py^ny{)Ae{U#JBZZentx3}#brg3WO;DpEI5NBI~vPDm#4_n}ahf*PVx zJFkoid2LiKG)4`Og*u{MsGJ#uN%#)xR%}6q`Vy+2H|L>91Y$|_pdwHcwc$2RiGLXi zJ!#O&-bPKh1U11b^u?W64!=T8bQ2Ysz-A`2$*A{JQIW_(P53HC<5*P4m!T%!hU$N$ z8S&TI-J(G&{RJbjU~_Z7qpda3pZ3)c0W-YP>wuJg2Y< zUPCRksN2G`DD&P~+OK0@Wn zbK4%=(k$HdQ1ItLB~-`is23ZdCTwr*W!p!f7CITVfJLaIT87Gzt*A3Tii*Gu^x$LE zZ7KPZu@lnYbrw?4z21O2qpPS8KSAv%pp{ujBx(mq7>Kn|p>2+Zu`d?E5vcbjq9QX7 zV{r*q!hM*EKVv!F|L81pZ5m-k9t^VPpeER1y?{EBKTtahYi)j7CSnlvv8airq9U*v zHQ{08#yP)Z1+3M^M64$U>i&d5l32wp)~D}6x0g9Z3%=xn1=_39Xdol)0s0_wUhL+x}2>iwIj z0sllTz^|RzP)XFn5>P+X>LLF+UHKoq|4BRIuL1ID&<=k>b$o=%`r!7)1mq{K(*(7X zNvN}(fdQCNdl~$+?<)Rks{!Bpw1$Hr? z%rdBYnyoj%s?@t<1DuP><}(XayP1ijumtra)R{NJ8rTJO@8_WwvJxxfTGT}OsEKZ(j_5v? z$KO#A2=C6qbpI<;P*OBN4VZ-rSvSP( zRKMa_08675S{7YRltn>1?}6IkTbO|JunO)*5B`J=G5A&UTXHs*r9Kli;YQTXwxBlh zHEO~O7=xE=UB7uMH@tfie+?K*LoyCP9mNvV3eTZJUGOzyUGz{Njr^o`7Grt5fqLJ& z7e5!UD!zn6QSH0XgAXtZ1AChz>e|~i*Q5^(io`fn626ZfoR6AdD+XacDk68W0fxVB zcG3maJ^{JO&L-3+x?mp@p;XMEo{iOUCi>t(mx3ldipuUYsI$6Z+wWrx^eei=^-s}{`d(Wo~Q}?qpt7UsH1ovbxl7&_5TbN!6UYQ0(I24)Xx0QFBAgs32GppL1stA zP#sHQVT`l&RP?9b0KKs#*2LDRB%6j>-~m)*zCnfl94gWmu^>J|R}=h6K|A#uYz#;3 zB-Yl`(L+5GHF00mj)tT9jln>C4~yV@+x~Aqy8}}$9AC>cmx$m_Y{RR z3Kvjk6Ewp7H(di%G7Z6aTyH&tm8n0qR(ivnZ8wageJbimx7hZxm`MFOYMjK8W&<6N z{;o5Mf>yEuQ*n*0UqtQv1}Y*?P&wfDrnwD8P+4Bm);*|k5>cV9iu!anM2*`Um4u5? zKRx%ONB92*1+A>WD3csXs8D93b~+F%;ZiJzU!w=_V=*i|+FZjjScJL>o!qnji3(xBIAdwl&J(dHwzTc9pcXg?brj1`N0n=z ze}+1e16T@=p+bKbOQX+t;;;Mb8E-;f2|d&^Q3LfwO+3oh7h(eST-1(FqLR-0Ei+LP z>N=;Qj-n05Vs~th@1o|rgj(=-ZxR163J+<}3%(OfBtkKqdPUTSrY@GoW~j66ZJ+nI zPO>h+YCPY9x&?Pp8}WbJT)UE}BPfrN80%8dN}6DCY=yd?Jy8=4Kpo9c)R|2}<;D!u z!d9S?cRea6&Y;Ho9yQUgs3U%Yx`zK?7RIshWOPSU(7pP$#ITFj@RPNXt03it%|-=9v|cgzY$V1FJ=z@c~# z6@gAu%$IO3>Q;P%-S9Fh)EV!Zoi{`sU2}}VY^;T&Q4z^Q-GT#H60cz_^E*!{Xd=&h z=E2LTq9qH?J{Du?=@n?zwO z1trlM)Y+fJ%6JFMVc0Y?KpN_KM^xwsqIUEF`r%eo=y#*e{FL=FYJvAq8+(GR)d`wT z{4*&moNoT>^a{R7J?(w|NPru#1NzP2CmVLdA$SPmF>R(f%O2J#sB5|btKnhv;6JuK za+W!&ny5(BpGEw&vTXaH7b>&^P%C{03*iT-ovlJ0$u`^mU-Y4#k4m=7sL=k2T0r1z z^MPuBnr8r};&|&PE`@X&ZeevSHHSa9Vm9h57hxbSL%sMhYT&D=Bq~0aUpz4hweStr zgIJdOHPphMp^mEbJYzcQeYY(IUB3ZX6sMwIT!OK<9ewdSdhi~mV4)n7-5IF*D9plj zSPUPd#_^wT795A6)VtvX9DxMMbskdCm&sjVl4t|^Q_r*RM(yA*7RTGz8lPYYHd|=L1x4T->L|X$1PuMq{N_^+ zb-xE=5quLBp~L?o8dP~%O?~DQXFD!wxPz%k)I6R3;+CNe6mtSEbn}Ctj8(UvPMRMW_*Q{&~4SI1S z>TJ%ULUre~bgNn>SRKLqu9Ur6Kue{3SNIld- z+-Vdv@fuVv97GTPfQm?w)#lgeG}OSIP)9Tb6{+#oDHuh4HiqJ-s0AKIo%JPK{{gjN zC-+6}@b_N|>KJdWgBqwUs^duObkrGsgynD#YR6YG8t-6v^j~9gArTdU_Lz)AF$&*8d3e~R?YD2Y9k!p=` z_zKp?Db_=n%>0hudXo(4Sc7^`>j&tee#ZJ6rce+2*eswazD~UhYQnu3ul}eAKE+J* zY%qTV?u%8Z=b_I2Ho97&*G9ABAWWiO9-Ckm`r>@_$EB#q#+zvLG8fzbMxJZL@lf~YKJXR*RvmLp;NIpeu!hxYa4$B!Es1`*SSJLJNU~qIDy;E z3gb~f6*I6YwnrV!hu8xz{@?R2%ud>)vV9!Z#(k)WJi{=I-C;iUbufZ@7tGZCe}jTv z*n!IS$EXlJvj*=p?H&xJJr+x0ZQI@nl?&Z51N&eyuC&ijq9T!x;rPI|d+%aX%|keu-M(X)J&j zu@+w0OZ-bxi1^a%xGI*V-T|BANbHJxurij~XL6whwxB)_b+50WCh+>ooUK2GP>)7U zn2!3M)U@?J7*DsP98r_mDZ;1XPmL$3oa173yx7i0@+w+=fcB|6(TkA2$8k zU>)jjV_)2bX&7_FMCfI#tLNAVcVj_xy}mX-z5GyT6@va4gIZxSDw{J<3+RvPHxUct zJXCTnLtU#pRB|0hZRml0{v7?NhaENVMVtC?wU8fB6Fjko z95YFqWNnPfomWuTbUX&&98`{dh}!X1+rINfo%26T;l+wkJ9~f%{ZrJ0iQkyBYl6|# z`=CNQ9d-6!Vqv_A>i?tF@3@Ivc}$|c4c5a6=#RV6kNKU$6tv71ZYjM(H5KIY>dTkPZR$%3SMW- z4y&WSfQ_*j_Qc}&1}cQ_p(dV%iqw2mWLBXMUKw~MqV+=*8vr>5vVMkh7E8FR>DW90n1-C1GPn6!~PhC zgHc&O**ep@2!m-~iF0rZzWD$D8(uTN^R+`C9xOy9*-~tbo9*-8F_n6a>t>;YP)9Tk zYvD=kg@HHB2WuEA0!uInkD!wEcT_I?bA$L7pb&J^3|I`69LcB-4Xy1_$=Sy`6Sb4i zPzyMKI)Z>(=Dl##IPs`kQU?{uOpL}Mwm$EcYwqg~8Wh@Nn1X+zjv(>2sW-&Z)JI|q zoP!PV62@WKJ7xh*F@}0O48k#}e(zx~Jc>H|I(6UO?^aIYwjbJu_iTtVVqnDjD~qB6J>o@g{1a?tKahQP6j0hvBFRQ&Hde zIv9)1PzxJ|TG%Ai4ws^?-^aH7Hu_P2h8oBBzDdrasH6?W&e#~!bpMx8P)N?8R{8*y ze9ut#w)pqvEVHby;fqfv`tW=*Y9UimJ6nW$e>oP$Jk-wjp!y$0Z#;qi`q-bL;Gy9P zR={Vr9`hjY<&;;-=J~YgTRdk$uK_uYdUwt{)jPjHUVh&`J~^!i<>#di&MKU`8&5{$Tst%%XX@d0dErOe gc;_uXmRm3{`&1#Xyuqg*7Ri}@{nfmv8!|Y_#+YGW$IW@O5rzyo&XQAfz|Z!xer)@(gJbn|D5P>|p;U5D z-M3T3az{$Z;Z{kCiX0-vUvyBS`X~R_d)M{9@B4oA=y_e&@B6*3&-J-J*KekK|K}kG z&V+bpqAM?V_+RZ1$7z6X)l=_3|GPiMapLGcfcj_}@{hBWe>KJTunk^7y&u!TaiTF9 z)$ffij>Gmi2V3A))AyX?G{P7NOLd$P7=L3AKU47>id?H4)a;Y@j2?(I14N=*Q}q*OmO&qA{HTo#o?L7nh+@v>q$t>llMO ztsmL(bEs5bKxOC(DnnuErs(RR7VdS!>K_!G;x2_ zi&@wfM`KG|fI6D3cn|&y6?j5-b2PW3`a@9xOvHxxDAva^)aP$|cHlGAnf-+Ecnh0j zd=Hbd4AhJLQ7O;HBzz2;;b!cIM==WHxgt7>wy5X(paPkIV{kV5(EEypBFX4!78;Ez zrg5m9Ped(Tf-1J9*ag?3s`)f(f$vdA8JS^<%tZy#5gTDY!1~Sw8VVrvPLry-s7O0uV;qgTHnUI@&b2N^1+oei;09DpyoE#YTO5F$ z`gzqfI6ZO@~oPPz&6+nbt~@1M4W|s zZY?Sko3I|fi^{+W)P{fRNB$eosMOy?)(Ev=7t{j1F%<8^1RRfAXf7%uc@KP-a`d&3M*2Bx;B*tnMhq!F{WcU4n!?D z0xL3vns7X7p<>iLbFn&>qH5(OJH7>V)ZV)^w6l+}I(~tA@jPn5Yu1oVGaii!v?(fp z+fhf=9aSSEP-i?5m4P|v;!4zQ* z!;`3L{|2?=OQ?yj*?to)y^f$Q*1}$xjKi=aK8kwpP1MotN3RBr4{21~OLXb~ggWD> zVW!_4o6+x!x`vZb*Y*k2PS>H{KZ2U?A}WAiF$zP6o51R!ez>(oK5_;OC;yt@MFup% ze$)<6*$2;|?&(cyy%F31`l+a$1W{)^6IHx(Q13rweH!)LN>q`Tp#s>1k$7+f`B$XJ z8PEimP*wUXQVveqNV9`^$dz}NqbB^yj(>-B=>Lg2`{;X2W*TD*{T`^I9*WvX9_kBe z0qV#%dNk_N*nujFBld&qsFa6{GPfZKJJV0cs#uH)YPoauu1xDjK)EVwV71@3}eiT*B7f@$^1$Aq# zVm!t_V8(Ap&DRZ;xhxFT{U1%EI|Jh|9am!m{1O%E4b;N5#+V|lk2>=d?2P?TXFnSi z$P#Ri%TWvMM-}N2)DeAw`r&mREAD@lu_m&HsG?|(ny?!xWrI)?-;cF%JjUTPY>3NH zHL(S?&>NVFyHOeW8MT2MsOKt;bDZ0-8hVN}f`%6AhT8dH)D96F-!TCj=9pA>N6kAHJK|#OhWm0n^BYYizj+`FT|Rgivv4)) z48KQRqu)@OikM)Ev?03mTVP}ChuU!fm9goVf$LF$UAE(qx#pMLo*oTFwi5MSegGTc zHB@S29^^+XW?^NVk74)(>J~hMRk6&DZ@^~s%TWOzN7d97R1N%&3NR#KKKG(&=vuTu z?X0uy55Q{l??X-GM`dCLM&hG50G~na>sB5_u703suTks`n!QZex)|h0*lTZQnMHS^l48yrt@%#T1 zH1xt6Y>vAy5znDgSuM{j+zyqgt{94$wm%H})AwUP+>8qBI_jE+=9`_ns7$s+Z8QUG zQ-96?`@k5~*-S#cI1}~4GpGgE+5Q%+L4U6u{{*YkKaLUj4Qhv1u?GHu;TTq6`Y~9I zeq;1PXtbu$1>2*FE`W;gWz#&4pE=@6#kIaG@4Offam7?qiRsBg?6sH4ia&OsI1 za_g(8!1iMlo<(K&XOD(b`-lDD7HZ_B?JH8wB z{4tEe%jn`w)CRpqMW&I8I@|uJo%rl{3F^f~s0_S-3UD1Nm0M9?sXMR({(x<;aj~hT zENn^taceoYr+?b$IW=YyK6nsyrpxU3>)4w9SEz}qPc=K}hORr5R>|#;8>HLS4(@sM|0KRU;FulTbUEjM~Xm z9EfwU79PSLcpCLwgPG<}P)#tIen-@XCZMMst)dZ&`>+e1M4e@wS!Uw?s2@tDn1b6- zJNpK;K=?x@kXop~<53$)u%@6g+S@t|6X<6@ME(`=Jo~{js0d$1U60RDXLs6ueg$>b ze`0+MdDt95BaElt4RxJIp;GQg7au{*^Ac*|&9;B|Va{J?d71(3IP4KqROzUNa|z~ELOtIDm5EHOi({}FPDKSg+oPegeZfBPH|tL8Cz!_P zmr%E&(QLDm4AeCof;xiH*bv8}0(lr?@G;bL&!N^SLk08?RPA^>X++c5hl=bAR85>i z)kO6#9TAp*XTLJY3Pe(JSxHh z`#=%u2bn!ImHvEOnF?qiEt#%|TzzrC{?HI&_1ttSauq*xd zF_QJ2$_x3=D_9$Kc7+&9_@zk;|xC@F%L;>ppIZGZ~fYQK<2!QAN2C zb)er%n^eHM6-=k9hD~4mWCyljH8Aw2FAQ{P~(--^V zVY~7DS?otu`vPDX0MYU=q&2 zT3CjuSZ=+Do#@9uZGLYUihbxWLLKGD7=fRm-t)eup^0NlO|c9@zSNu?ROIKaH&M5t z?lUH^PN<_AW-UM!+vBL~SB47kUDSJ@U?Tp6%2>VS6`Ay$1R5y}^h8y6q3v(REc$0L z3fr$R6J=l;{c%_um*c~@0Xan{X{GsMdIMEM=dl`Iw*HFB>@AGZ{crFre+9=tGDhQU zY=fm(2j4}#@VV{(g1TPSp5tp5d!qt>5w)`usCmw!&iWUuiGQNztG>zlDu_Cx#dr@sZ~MRCQ2NgE=In-H7rF~jJKTd!@I#ElA8;gwy(YM&71#EuR-Hg29$was24xLdUzVU;dPvXsW0(YX!r_h;pjEyXxgDRFbFH-{a77+ zsDSfPM={g(=b^6q(lz8?55CDjEFM5bdKz`j!v1EeHU%}oXjE#)V?%t%x(b!a9jL$# zqN@EH)X_wgnGD9FYNQ=%osJ%jJ7|oR|!kEq*H^JVjSZ|p$702Q$JHyZV6Y(*8tA=KHQMMZiYm6@BU=W4%VzF69$ zCdkDBI1LrZ9@N5TPyyaV7n}XvWaLh4Og|r)*K?N8&>8(5m8x><+o&D?3w6)GLj`yX zb=EQeF#TqzfIFjVC(DletR<*<9!EX5$@(5PWPRs2jRZcpj-eR4&is^Xh>A1=lQ0{V zfhVyY{sXh{a~y%q*P8`qp^A1H>ed`a1$F^d)gK11a4;9D-^y6=+ zg~z;Vu1g^*l`mjldaVV+==3xY`LGAoiY=iIOo%lT})2Um?e>ECix0na} zV1N4epzi+~OvIh2vpa{{(GBc`$*-B3$;A-*Q!o-sP#Jm*weV)Fg(q$Q3f@jXZY%k3 zOXKdXrpi6kbybsa%8l#(N)C0~fIshQDDl*b$YXY;2Cjn1-uR z0ey_U@H^XYyQAXvcus#BO7TjJ#aB>YAa9`pJBixicc^Pxb*Bk55p(FL<8)ku<1y|{ z^ZY}o4LoQ28&Lrs#5g>G`tQ%qFEn&E>AU##31?u%1E`(+f~xkox6HjBhswx{sG>Z8 z@puaL-fyVqqu(~qk49Dd3RD0uS~qK)^__QU)W!o?A5ZE7ypC1zCU(UtyUqRXiTXT< zF*p_L;vzdt+TsP`tKHZWrk`PYtTGoWkuy!CwyqkjWc z<<5I%C*i2^k*KpBi^|XxybWhyIzEK;a0fQQPf#1Yh66BWular8fxVvj&15G7{rKP# z4#bpw=3YO9T3`+8Y}cW7{2tzhpP{~Bj@y2f{pOo84DV#T1NOz~I1JyxmKbxu)JAuY zh9aJcO5r~-0lz{;dJ7f#fPb0s2eC2zg_w*RQ173_o>=!Fev zfA~*do>5zWIeT!}i0HP{*tqpsy2s3MH|!0ad!^;{`xp*@(3w@`uQerSHHeiob3 zKa4%_XY7qBhbsOI={Y4d!Wo!_I@9@B4WGs8ScdIzGb)hNsOPSs-V6Q6>?8_xM2V;( z%s_2yto^(QtI~fQ_5QMoKIgyIKClr-^T8hMgz<;X7t>HwAmdOAcyyQSB5ol7b+tkU^Bdgny2PbbN`zi<^Jo1)(mLjKByFp##%TQHPK{@Mh`W? z(-?v4um)~N)xus3!NWKPKSdv=95Wj%MHTt;sC8aGM*fxh4R+ulYT?7E1;0WUe?~1F z^O> z>Z|iCM&V7=#F1Z^6gEXI+zOScWYl|ipfa0@+K?Yr8&k0-F16#{Cp6kK@HOhi=;P++ zdIIW&fv5#@uq95%=2(WU@gOP#*HEdgcESV}jrwYjL(Q9pahQRsiTh07b7tCsXHdmd zj`i>}Y=J+Zj-t+&=EWpTpx+O*KrVL1xv1N*3pLMI*aRz`G)LSF>(lRrvG@Q+>F0kj z4ef9~Y6q*ZAFjo2co}KW%^BV;A}>tVd8A2|r`5V+wYq zKTfi~^E?e*kI%6U{x9lGlfE)PrP`sc=OV0&Pot`S1M0aQw!a(o+#%E#%rX1%lx_NdQ$ zTSs6E`nlG{sEusLzPKNCBoPVW^^; zf(ppPI9!U=a0BYO*D(}7#TIx16VbVBHkO21FB8+4##ur`)wvI=;}@t2&Z8pz4#P0= zirHa3)PiXkjy+Hd3_t}o1r^v_)DB-jUB``f{9CL_{}xu${jd7Hsm>@=)z-mLcqi(9 zuSR9$7%I>!sN%bYy2rJDFlTv}H5(%spN5t3QLKrNqc-*|>iw56ygQB8X=vx~pkDY8 zL+}V{r^nF6GuRw&*?#jM%im1Czfqs#Zoa(agZpB{Kf8MJ6m~5_P4i{ z*3XWu>P`q078SQEuRLLT<(mHd@w`4HSQMy;Y5K&Ip}aagIJrD?(ui=kS1>rK$emK+ zFY)KN69{gwzu1@KEB3j)NLb0_(v>B}O|$&d{vEVC%~#|W5tPd`GlC_B?w$EWzHRDV z)oXNUo7~Aw>C!bhxpi_%`TcX6R|-jPmsHk=Vu!m%T3UUME$&wp%^Abynl^K0jlpQPx7G(!Y z_&-IA$Rk^UU}3-wPM*mj1f1T!LJp*S?1mk2Nm)!bIjAsv#X7h`KNE3k=Fs%KImy!4 zeUo}*5uR&T3I03HuD`I5<89~s*IaBZ$6v@^{`>4^?;D;zpn$Ce2+b`ips@ZkU&UcE zDMwT259AY5aYZn`f3H)1bl=?}rEB+fD{p^rRh8&$>c!{g@i`}15oq~=kE&OS3`}PJ z;y{7VRbl6qe{}d-jl{rs_D?@M$U9ntoT~myCc8QQfSYfQI8eIl)PxS1KDVGG$Z7n4 g9aUtsSQQW`m>Q7W9-muW;&c6Nb=2kYr(4zhKiapZ9RL6T diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index 738002da..c7b219f3 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2023-02-04 20:25+0100\n" "Last-Translator: Massimo Pissarello \n" "Language: it\n" @@ -16,490 +16,494 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistiche" -#: cps/admin.py:143 +#: cps/admin.py:145 msgid "Server restarted, please reload page." msgstr "Server riavviato, per favore ricarica la pagina" -#: cps/admin.py:145 +#: cps/admin.py:147 msgid "Performing Server shutdown, please close window." msgstr "Eseguo l'arresto del server, per favore chiudi la finestra" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "OK! Database riconnesso" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Comando sconosciuto" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" -msgstr "OK! Libri in coda per il backup dei metadati" +#: cps/admin.py:169 +#, fuzzy +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" +msgstr "L'e-mail di test è stato accodata con successo per essere spedita a %(email)s, per favore verifica tramite il pulsante 'Attività' il risultato" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Sconosciuto" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Pagina di amministrazione" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Configurazione di base" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Configurazione dell'interfaccia utente" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Modifica gli utenti" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Tutti" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Utente non trovato" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} utenti eliminati con successo" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostra tutto" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Richiesta non formulata correttamente" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Il nome dell'utente Guest (ospite) non può essere modificato" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "L'utente Guest (ospite) non può avere questo ruolo" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Non rimarrebbe nessun utente amministratore, non posso rimuovere il ruolo di amministratore" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Il valore deve essere o vero o falso" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Ruolo non valido" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "L'utente Guest (ospite) non può visualizzare questa schermata" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Visualizzazione non valida" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Le impostazioni locali dell'utente Guest (ospite) sono determinate automaticamente e non possono essere configurate" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Nessuna lingua valida indicata" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Nessuna lingua valida per il libro" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parametro non trovato" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Colonna di lettura non valida" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Colonna con restrizioni non valida" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "La configurazione di Calibre-Web è stata aggiornata" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Vuoi veramente eliminare il token di Kobo?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Vuoi veramente eliminare questo dominio?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Vuoi veramente eliminare questo utente?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Vuoi veramente eliminare questo scaffale?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Sei sicuro di voler modificare le impostazioni locali del/degli utente/i selezionato/i?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Sei sicuro di voler modificare le impostazioni delle lingue visualizzabili dall'/dagli utente/i selezionato/i?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Sei sicuro di voler modificare il ruolo evidenziato del/degli utente/i selezionato/i?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Sei sicuro di voler modificare le restrizioni selezionate del/degli utente/i selezionato/i?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Sei sicuro di voler modificare le restrizioni di visibilità selezionate per l'utente(i) selezionato(i)?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Sei sicuro di voler modificare il comportamento di sincronizzazione dello scaffale per l'/gli utente/i selezionato/i?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Sei sicuro di voler modificare la posizione della libreria di Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web cercherà le copertine aggiornate e aggiornerà le miniature delle copertine, questo richiederà un po' di tempo." -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Sei sicuro di voler eliminare il database sincronizzato di Calibre-Web e forzare una sincronizzazione completa con il tuo lettore Kobo?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Nega" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permetti" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} voci di sincronizzazione eliminate" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Etichetta non trovata" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Azione non valida" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json non è configurato per Web Application" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del file di log non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del file di log di accesso non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Per favore digita un Provider LDAP, porta, DN e User Object Identifier" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Per favore digita nome di utente e password del servizio LDAP" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Per favore indica un account di servizio LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter deve avere un \"%s\" Format Identifier" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP Group Object Filter contiene una parentesi senza la corrispondenza" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP User Object Filter deve avere un \"%s\" Format Identifier" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP User Object Filter contiene una parentesi senza la corrispondenza" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Member User Filter deve avere un \"%s\" Format Identifier" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP Member User Filter contiene una parentesi senza la corrispondenza" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACertificate, il certificato o la posizione della chiave non sono corretti, per favore indica il percorso corretto" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Aggiungi un nuovo utente" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Modifica le impostazioni del server e-mail" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "OK! Account Gmail verificato." -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Errore nel database: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "L'e-mail di test è stato accodata con successo per essere spedita a %(email)s, per favore verifica tramite il pulsante 'Attività' il risultato" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Si è verificato un errore nell'invio dell'e-mail di test: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Per favore prima configura il tuo indirizzo e-mail..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Le impostazioni del server e-mail sono state aggiornate" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Modifica le impostazioni delle attività pianificate" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Ora di inizio non valida per l'attività specificata" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Durata non valida per l'attività specificata" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Impostazioni delle attività pianificate aggiornate" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Si è verificato un errore sconosciuto: per favore riprova." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "Il DB delle impostazioni non è scrivibile" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Modifica l'utente %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "OK! Reimpostazione della password per l'utente %(user)s" -#: cps/admin.py:1429 +#: cps/admin.py:1436 msgid "Oops! Please configure the SMTP mail settings." msgstr "Configura prima le impostazioni del server SMTP." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visualizzatore del file di log" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Richiesta del pacchetto di aggiornamento" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Download del pacchetto di aggiornamento" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Decompressione del pacchetto di aggiornamento" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Sostituzione dei file" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Le connessioni al database sono chiuse" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Arresto del server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Aggiornamento completato, per favore premi ok e ricarica la pagina" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Aggiornamento non riuscito:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Errore HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Errore di connessione" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tempo scaduto nello stabilire la connessione" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Errore generale" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "Il file di aggiornamento non può essere salvato nella cartella temporanea" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Durante l'aggiornamento non è stato possibile sostituire alcuni file" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Impossibile estrarre almeno un utente LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Impossibile creare almeno un utente LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Errore: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Errore: nessun utente restituito in risposta dal server LDAP" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Non è stato trovato nessun utente LDAP nel database" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} utente importato con successo" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "La posizione del DB non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Il DB non è scrivibile" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Impostazioni database aggiornate" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Configurazione del database" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Per favore compila tutti i campi!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "L'e-mail non proviene da un dominio valido" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Aggiungi un nuovo utente" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "L'utente '%(user)s' è stato creato" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "L'utente '%(nick)s' è stato eliminato" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Non posso eliminare l'utente Guest (ospite)" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 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:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "L'utente '%(nick)s' è stato aggiornato" @@ -512,28 +516,28 @@ msgstr "non installato" msgid "Execution permissions missing" msgstr "Mancano i permessi di esecuzione" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Nessuna" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "L'utente non ha i permessi per caricare le copertine" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Gli identificatori non fanno distinzione tra maiuscole e minuscole, sovrascrivendo il vecchio identificatore" @@ -550,84 +554,84 @@ msgstr "Errore durante la modifica del libro: {}" msgid "File %(file)s uploaded" msgstr "Il file %(file)s è stato caricato" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 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:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non è una lingua valida" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Il formato del libro è stato eliminato con successo" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Il libro è stato eliminato con successo" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Mancano le autorizzazioni per eliminare i libri" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "modifica i metadati" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s non è un numero valido, lo salto" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 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:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossibile creare il percorso %(path)s (autorizzazione negata)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Il salvataggio del file %(file)s non è riuscito." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Ho aggiunto il formato %(ext)s al libro %(book)s" @@ -640,178 +644,181 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non trovato: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "Invia all'eReader" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "Questa e-mail è stata inviata tramite Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "E-mail di prova di Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "E-mail di prova" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Inizia con Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "E-mail di registrazione per l'utente: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, python-format msgid "Send %(format)s to eReader" msgstr "Invia %(format)s all'eReader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s inviato all'eReader" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "Impossibile impostare lo stato di lettura: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "L'eliminazione del libro %(id)s non è riuscita: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "File %(file)s non trovato su Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Errore nel rinominare il file nel percorso: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "Trovato un account esistente per questo indirizzo e-mail" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Questo nome di utente è già utilizzato" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "Formato dell'indirizzo e-mail non valido" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Errore nello scaricare la copertina" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Errore nel formato della copertina" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Errore nel creare il percorso per la copertina" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Contenuto del file di copertina non valido" -#: cps/helper.py:884 +#: cps/helper.py:922 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:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Non ho trovato il file binario di UnRar" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "Errore nell'eseguire UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 msgid "Cover" msgstr "Copertina" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Metti in coda tutti i libri per il backup dei metadati" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Per favore accedi a Calibe-Web non da localhost per ottenere un api-endpoint valido per il lettore kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Configurazione di Kobo" @@ -820,7 +827,7 @@ msgstr "Configurazione di Kobo" msgid "Register with %(provider)s" msgstr "Registra con %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "OK! Ora sei connesso come: %(nickname)s" @@ -885,9 +892,9 @@ msgstr "Google, errore Oauth: {}" msgid "{} Stars" msgstr "{} Stelle" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Accesso" @@ -903,7 +910,7 @@ msgstr "Il token è scaduto" msgid "Success! Please return to your device" msgstr "OK! Torna al tuo dispositivo" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Libri" @@ -928,7 +935,7 @@ msgstr "Libri scaricati" msgid "Show Downloaded Books" msgstr "Mostra i libri scaricati" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Libri più votati" @@ -937,7 +944,7 @@ msgid "Show Top Rated Books" msgstr "Mostra i libri più votati" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Libri letti" @@ -946,7 +953,7 @@ msgid "Show Read and Unread" msgstr "Mostra i libri letti e da leggere" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Libri da leggere" @@ -964,7 +971,7 @@ msgid "Show Random Books" msgstr "Mostra i libri casualmente" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Categorie" @@ -974,7 +981,7 @@ msgstr "Mostra la sezione delle categorie" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Serie" @@ -992,7 +999,7 @@ msgid "Show Author Section" msgstr "Mostra la sezione degli autori" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Editori" @@ -1002,7 +1009,7 @@ msgstr "Mostra la sezione degli editori" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Lingue" @@ -1026,7 +1033,7 @@ msgstr "Formati file" msgid "Show File Formats Section" msgstr "Mostra la sezione dei formati dei file" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Libri archiviati" @@ -1034,7 +1041,7 @@ msgstr "Libri archiviati" msgid "Show Archived Books" msgstr "Mostra i libri archiviati" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Elenco libri" @@ -1042,41 +1049,41 @@ msgstr "Elenco libri" msgid "Show Books List" msgstr "Mostra l'elenco dei libri" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Cerca" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Pubblicato dopo il " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Pubblicato prima del " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Valutazione <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Valutazione >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Stato di lettura = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Errore di ricerca nelle colonne personalizzate. Per favore riavvia Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Ricerca avanzata" @@ -1126,7 +1133,7 @@ msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crea uno scaffale" @@ -1151,73 +1158,73 @@ msgstr "Lo scaffale è stato eliminato con successo" msgid "Change order of Shelf: '%(name)s'" msgstr "Modifica l'ordine dello scaffale: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "Spiacente, ma non sei autorizzato a creare scaffali pubblici" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Lo scaffale %(title)s è stato creato" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Lo scaffale %(title)s è stato modificato" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "C'è stato un errore" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Scaffale: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Attività" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Attendi" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Non riuscito" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Avviato" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Finito" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Terminato" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Annullato" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Stato sconosciuto" @@ -1250,143 +1257,171 @@ msgstr "È disponibile un nuovo aggiornamento. Fare clic sul pulsante in basso p msgid "No release information available" msgstr "Nessuna informazione disponibile sulla versione" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Scopri (libri casuali)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Libri hot (i più scaricati)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Libri scaricati da %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autore: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Editore: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Valutazione: nessuna" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Valutazione: %(rating)s stelle" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Formato del file: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Categoria: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Lingua: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Scaricati" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Elenco delle valutazioni" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Elenco dei formati" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Configura prima le impostazioni del server SMTP." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "OK! Libro in coda per l'invio a %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Si è verificato un errore durante l'invio del libro: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Per favore aggiorna il tuo profilo con un'e-mail eReader valida." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registrati" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "La tua e-mail non è consentita." -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "OK! L'e-mail di conferma è stata inviata." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Non posso attivare l'autenticazione LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "OK! Ora sei connesso come: %(nickname)s" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Accesso di riserva come: '%(nickname)s', il server LDAP non è raggiungibile o l'utente è sconosciuto" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Non posso accedere: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Nome utente o password errati." -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "OK! La nuova password è stata inviata alla tua e-mail." -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Si è verificato un errore sconosciuto: per favore riprova." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Inserisci un nome utente valido per reimpostare la password" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "OK! Ora sei connesso come: %(nickname)s" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Profilo di %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 msgid "Success! Profile Updated" msgstr "OK! Profilo aggiornato" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Esiste già un account per questa e-mail." @@ -1445,30 +1480,30 @@ msgstr "Riconessione al database di Calibre" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "Backup dei metadati" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "Sono state generate %(count)s miniature delle copertine" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Miniature delle copertine" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "Sono state generate {0} miniature delle serie" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Cancellazione della cache delle miniature delle copertine" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Caricamento" @@ -1491,7 +1526,7 @@ msgstr "E-mail" msgid "Send to eReader Email" msgstr "E-mail dell'eReader" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Amministratore" @@ -1501,8 +1536,8 @@ msgstr "Amministratore" msgid "Password" msgstr "Password" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Download" @@ -1645,84 +1680,88 @@ msgstr "Genera miniature" msgid "Generate series cover thumbnails" msgstr "Genera miniature delle copertine delle serie" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Ricollega il database di Calibre" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "Aggiorna la cache delle miniature" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Amministrazione" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Scarica il pacchetto di debug" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Visualizza log" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Riavvia Calibre-Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Arresta Calibre-Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Informazioni sulla versione" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versione" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Dettagli" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Versione attuale" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Ricerca aggiornamenti" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Esegui l'aggiornamento" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Vuoi veramente riavviare Calibre-Web?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Annulla" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Vuoi veramente arrestare Calibre-Web?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Aggiornamento, non ricaricare la pagina." @@ -1862,12 +1901,12 @@ msgid "Published Date" msgstr "Data di pubblicazione" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editore" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lingua" @@ -1895,8 +1934,8 @@ msgid "Fetch Metadata" msgstr "Recupera i metadati" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1918,8 +1957,8 @@ msgstr "Fai clic sulla copertina per caricare i metadati nel modulo" msgid "Loading..." msgstr "Caricamento in corso..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Chiudi" @@ -2350,6 +2389,52 @@ msgstr "Percorso del convertitore di libri Kepubify" msgid "Location of Unrar binary" msgstr "Percorso del file binario di UnRar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Impostazioni OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Reimposta la password dell'utente" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Visualizza configurazione" @@ -2362,7 +2447,7 @@ msgstr "Numero di libri casuali da mostrare" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Numero di autori da mostrare prima di nascondere (0=disabilita nascondere)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2451,64 +2536,64 @@ msgstr "Aggiungi etichetta consentiti/negati" msgid "Add Allowed/Denied custom column values" msgstr "Aggiungi valori di colonna personalizzati consentiti/negati" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Leggi nel browser" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Ascolta nel browser" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Libro %(index)s di %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Pubblicato" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Contrassegna come da leggere" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Contrassegna come letto" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Letto" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Ripristina dall'archivio" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Aggiungi all'archivio" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Archiviato" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Descrizione:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Aggiungi allo scaffale" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Pubblico)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Modifica metadati" @@ -2578,7 +2663,7 @@ msgstr "Inserisci il nome del dominio" msgid "Denied Domains (Blacklist)" msgstr "Domini bloccati (lista nera)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Prossimo" @@ -2696,7 +2781,7 @@ msgstr "Libri ordinati per valutazione" msgid "Books ordered by file formats" msgstr "Libri ordinati per formato" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Scaffali" @@ -2713,52 +2798,52 @@ msgstr "Home" msgid "Toggle Navigation" msgstr "Attiva/disattiva navigazione" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Ricerca nella libreria" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Disconnettersi" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Caricamento in corso..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Errore" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Caricamento riuscito, elaborazione in corso, attendi per favore..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Impostazioni" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Per favore non ricaricare la pagina" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Naviga" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Informazioni su" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Precedente" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Dettagli del libro" @@ -2882,11 +2967,11 @@ msgstr "Catalogo Calibre-Web" msgid "epub Reader" msgstr "Lettore epub" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Chiaro" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Scuro" @@ -2910,111 +2995,124 @@ msgstr "Dimensioni dei caratteri" msgid "Comic Reader" msgstr "Lettore di fumetti" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Scorciatoie della tastiera" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Pagina precedente" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Pagina successiva" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Adatta al meglio" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Adatta alla larghezza" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Adatta all'altezza" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Adatta alla dimensione originale" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Ruota a destra" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Ruota a sinistra" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Capovolgi immagine" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Pagina di amministrazione" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Scala" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Migliore" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Larghezza" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Altezza" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Originale" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Ruota" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Capovolgi" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Orizzontale" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Verticale" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Orientamento" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Da sinistra a destra" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Da destra a sinistra" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Ripristina in alto" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Ricorda la posizione" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Barra di scorrimento" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Mostra" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Nascondi" diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index 404adb209649330836e4f289f7ac8dd49e4862ed..5ba744a81574e382e6fe01f940a09c4dadb7f6bb 100644 GIT binary patch delta 12029 zcmYM)33yLe{>Slaiy#sakwhXAOEw9SgorJ%Z=v>}mb55>T4SwV>!6B8ELF5+EJZDq zQA_PhEmdj@O0{bJqgu46nws~g=RD7Uo_XeVzUSV1&i8!Jx%ZdO%-Z}yuf8qhUMpRA zp~Jtf7j&EutQ?@||Nj+R&2fSVT~b zdgC1Q!ev+n*I^{{JA3Vg+o&6#*tlSVnb-$4kiRtybzfEV!8)h}TA>nci%O&umd3%T z`&`sG^H3H02rDwbvz{SQV3NIZinC!HPH?%i?FK zGqDe~fCs3vQ!v?aJTL@HU?nVt)sv~e_Arf(0BnIOQ6?6~LFk9WY&;EB;#sK5%tP(z z1`NX;s0lBl#(9D|3xA^$kKjOYe4GxbM5orK{&i?_Tb1k5&`MTf72Jy|)lDpi_fe(xsOvaU z7=@LwJvPVD=!<(%_kD*-;4y0Jyx8A2a1bhiZ&BmlLY*D=0S&GADQdz3_08c5K^Egw zN1fh*s0qfQ_HHSb!Ou|%9KcXKhYj&Ds>DeROl99dZB>8N;T(k=de@mqLj%r6orPtn z8&{zw_yYBIe2rT1dDI~a;bYJkqfmQ17J z=)wHXDHIK2!a($EVk!`eT5)3x!A_{ehNC8Y zA2t3W)FIr|g!-#g+vw0l7cd-OVPOn!Y6gfvRiYtk!j4!82ct^<0czs)s0qJ9ZCySp z(VJKvpQB#mvdxUK&8WXJYea_*O*-mr=#45_78b!V_WDHB03V?7crKu_V-c{~BtZUM>wyFc3X(C~Cmbs1?ja4YUY#Cf3?`J1W6rs0Ca=?e&lL z`hC_EeTb7G$a2+baXZX+Wzel=Rc{S98O_6irjKnIq6IH4o(F>oU5-!YW zF<2I(u_1cmAk^UYK@F=Ph=d71d_x*sy@NPTyUjsj;!w0?Fn@mGd15`&H z!n(*}obl+3$C2aWTtN+3h0mh;<57Fv2)(f@s$%_7hjjvK0Si&zk1ZXjzxMPz9opmT zs6GD^)n9?KsKl{Y8rvg(5;%RaC@x1Ouo|_1EvUrzqZW43dKdkO3wJVqSp{MSabK5) zR8%jG>`JGX?pZ!I_0RR7X)2Db&qm8itxU1ty09atUr zqPFNEYMwt)TjX?CrL_Mv0*I@jGHZs~`>v<~`=LrU3N`R_EQ7N#2tP%A*><7M#3j^3 zKVc%?LA?dRubTygq3(;pf_ncGXeiT~sEPWaRz4cF!d#5Obr_H5F$|0J;G|;&*1>_O zFWxHDgojWIJBC`wPgoFtMIGwL=&B>2r#T$uPy;r=YB(9|;uchb4^X8J>1FJUVZ?Kh zp9g0%hU0VOBk7duZN}-3VZ@8DEpA6`iAN^&*K6UMX;xkZb?9ng7^b2I%tWnV3O2+X z)M-A4s>n0sU^`K7m`|;Xp~M?el{tyYSoBR(nN-v~P2P0PDQ-iD_T+VYp%1D=gHZ|Q zpw7f<)FIr8N@%ye{tfEv{D|7ZM>a0l$J}2AHBKmMOB!uZ6D&p@o>izr zw!ymJUcX@d83VcgtBpPTng#fy#wm}5F$OhZb=0Y^gLXoD^%$M`kDK~Q1{owNNk6daV%=W<){U%Lse)C>Z}~Z=6e52yk#=!hbd*M2I5aDwgs080?BM2)uz zwb1QY6Za0H{wmq;bi`uhV6(TKFq(LtbthIQzG3wnVoKf^qv(GdE8=3?zYD7p-$IS! z`?g82F6#ass6?i_G*rs>ZO4A}CO(SVntUvdS5cL^W8+^@1H3?0sK8M3rSwIOmxwXg zAFJSetd2V{4)05Cr(8rHVn0utB|+Jb-tpZE%*a9VAKfn?H-9Wi07kLa2Pf4Jyb=0LnZnb`r<3A z??_XTO4dZwN*kjR?PL2#VZ7e|X*5*YZRm}A>BjKtB{2|q?Je1b~Y8ExJM zPt^UPs7l15Ub_ZZ47;Eb&O~kHJNEiybamqr+wlb^5g$jL=D$%Z2_Iu#pLo<3q@XI1 zib|v>`e8rRYc>uw(G*ldGf-Q$1WV&8RASr5P=CE12k0n^_fZ2D9BU>jj@si=sMo0s zw#788hVxJZ??qMMIF`YSs896++aEE`dwZdtr3e3R(++gEFxS|069AV?B6Zjf(eFa9~U95*b@0dfK?$Xd-DkD&PorB4^ z6JNteSPL6Y{#*mZL3 zg%44c_yqOfUev_rQ3L;mmC>1EUZX0g>+P(Aturx^{#B@nF4_1NDv_Y6CXrYyt@l5X zh9+!g?SUG21nN-E#X-0lTcYnY{y7j|$L_chGthIoi8HY$@mH9MLH{yaI3D%>e_`XR z7|Q&P-wdaD0l`iYNeht&HetUIK;-$Hjc+2`s>>` z1Kn^s`qIz@|3a1M6O6#E7>k!N6+LG0>R>Z$jx(?jo<>c0&R+isqlv@cGl#l0axR^b zsQVscF?{tN^;e_VY_rFHsI91kx-rG}H$zpV3s%4psFlx0otf>ZO6A+@KcE)&U)0-F z;eGS7n}J=3C!x0X;``KJnLeaL0|)X>eTcP@^X8nvIP5srBskfcgI@Hnz!=z1j^8*d7*n5e&AW6OC8{#xQTII)i%d2I{T()5bx|On-H2Q`Ev<$6y?fiMR+g-ic+@Ul$(Gp^QD3n*rmn1#uhH z0EF>Wbp>I zof2^Q4;leTLGg+80ibK}vCp<@mWxdV0BZlLz6;AV4UFzR|WjKglWe+H_wAE6T3hd%hk#)Y<+ z>&ciwe-G64|6p-EyoLIgrE!`LeOPXz_WHRs@C$QeZR|;ZV;qbtuq%3RHCxjkHO@q= ziVM&W_oH6V^O%N@FcTBeK!VwE(|e=Du=pV?BlKiJxKyw%Bbd@G0sH9l_>${}c9@2gjo(Scz3|9hSh; zSP-wE&dN0#7u{?2zBp>4)>sFZV{^QOnmBBqdEdvP?z@X+vCe+}R%CvsJq^8HpW{Hh zh&8d{0rROGgTsh-p(<4Mph>tcYK!`y`p2O@P_wWiZoptXh28KTreTvq=Kn`99o={7 zxI`lbGY*?XaTRe|}a#J)ux)*Glp{?zJxZN99< zzo!0WxKM!(l_bg98uh@NsM9>y#*?h?;RyN{pbl-(qb7kesPTfW@#st3)S7`xY#@50 zdzAWn(3ney23m-USK4?TmL&cX!|*U_fLoZ1f1yr);xSY5bPOUMimKo&jK^!Jaea=P z!&(-#;F>NCUIQl`^;!+L@oLlqCr}fd!Txv;v#`Sn)4vC`$N3nFkFgl~eq;KBu_$pe zYAaGP20NfWcL;E&Pj8>AL`2%X03r*Q6torbwiz%A*fS7 z99!cdR6;)A+Q0t;XlSA^^ukEgijq(hw?kE^kBw*A>q}9Gb~|cI9-+o5ddfWSjY=d2 z^>#Es-Paa%Utg@M_kR!#o!Z41f@lA^!2h&@DrN9#bBL;7dE#VLe`i#}y-@=WwvI%V zcsvH+YScpZ;6VHieX!1VJg4`+6^#gNkGgRzR>0ZT4XBEIW3S&qP58oE;EYMk6O~W| zYNd&&aav*|4z&F_sPWd~KfnKnXy}kVM14Sto;3qRTT@XJcE+LD!+H|6qI&1d>$nEB zRYB*?I1Ny7rj4g#Jn>o^Upi0yb;AoflwpMn=2SLEC6bLwY%wb1EvV9;L>;DlRALqL zO-Z9saSG~fNV9Qo>szSO4?%yNm{0wcQ7#?L@i4YPuZt#;&RB(bDptdFSP?H-|3VEE zddZyjB-F&UQHf-r67FRkfHR3lptkBSmqs=X&&%e(C3Qz?P!Kt*gL3+HexXD!s3{Zn#a9vFF04tUWK4a)DYvaJ$mX!)Ic+_ zCoV*-@QL*WsuBf$FwX~I4dO^^H>^!O8#T^hBq7&1LqmK23u@2(ubGLHF^ISyHbob^ z;1TSEAwQb8WjHdBGYtdrQ`FhmiSx0@Pp1DvEKU3cs#1sliCy-9hTd22>*j-zg5Jb! zPy_ZrWt@$w$Q0`q>osgkzt_*^?7WUT)T>aHJdS$)GN$5f+aGa*#WKHBi-vAUN0qc2 zYT`^AkF(b&p$43TD(!OAeWy`}>@I4Bk5S_kxoH;Wg)@kgu|4iXZI$mWs;U)5(g?xM z*a1hN20ntN@EU5sUr}526g6S!Z8K05DsF&!t_6DF8`c3>gm@?>U^YhMXSew&h^2A% zcHXXPS>^vdBHb@{S?{deR+$y^R%Q+>nAfmRNa5U}{V(Qq91vJ6Z^`hz#Y-l|)unpNWy^7_6LSfEgiYVmpQ#9yNFUamPAocr+Lh}`{$s^+C1o>eHX__3@adDFg) VDv*2sP-xzbQ_Z~c-o3KU=YKww+nE3W delta 12873 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\n" "Language: ja\n" @@ -16,494 +16,497 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "統計" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "サーバーを再起動しました。ページを再読み込みしてください" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "サーバーをシャットダウンしています。ページを閉じてください" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "不明なコマンド" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "本の %(eReadermail)s への送信がキューに追加されました" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" +msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "不明" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "管理者ページ" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "基本設定" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "UI設定" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "ユーザーを編集" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "全て" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "ユーザーが見つかりません" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{}人のユーザーが削除されました" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "全て表示" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "不正なリクエスト" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "ゲストユーザーの名前は変更できません" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "ゲストユーザーはこのロールを持つことができません" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "管理者ユーザーが残っておらず、管理者ロールを削除できません" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "値はtrueかfalseのどちらかでなければなりません" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "無効なロール" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "ゲストユーザーはこの画面を表示できません" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "無効な表示" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "ゲストユーザーの言語設定は自動的に決定されるため、固定することはできません" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "有効な言語設定がありません" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "有効な本の言語がありません" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "パラメータが見つかりません" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "無効な読み取り列" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "無効な制限列" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Webの設定を更新しました" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Koboのトークンを削除してもよろしいですか?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "このドメインを削除してもよろしいですか?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "このユーザーを削除してもよろしいですか?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "この本棚を削除してもよろしいですか?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "選択したユーザーの言語設定を変更してもよろしいですか?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "選択したユーザーが表示できる本の言語を変更してもよろしいですか?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "選択したユーザーの選択したロールを変更してもよろしいですか?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "選択したユーザーの選択した表示制限を変更してもよろしいですか?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "選択したユーザーの本棚同期の動作を変更してもよろしいですか?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Calibreライブラリのパスを変更してもよろしいですか?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Webは新しい表紙を検索してそのサムネイルを更新しますが、これにはしばらく時間がかかるかもしれません" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Calibre-Webの同期DBを削除して強制的にKoboリーダーと同期してもよろしいですか?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒否" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "許可" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{}件の同期項目を削除しました" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "タグが見つかりません" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "無効なアクションです" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.jsonがWebアプリケーション用に設定されていません" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "ログファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "アクセスログファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "LDAPのプロバイダ、ポート番号、DN、ユーザーIDを入力してください" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "LDAPのサービスアカウント名とパスワードを入力してください" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "LDAPのサービスアカウント名を入力してください" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAPのグループフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAPのグループフィルタ内の括弧が一致しません" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAPのユーザーフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAPのユーザーフィルタ内の括弧が一致しません" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAPのメンバーフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAPのメンバーフィルタ内の括弧が一致しません" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAPのCA証明書、証明書、キーの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "新規ユーザーを追加" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "メールサーバー設定を編集" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "DBエラー: %(error)s" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "%(res)s へのテストメール送信中にエラーが発生しました" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "初めにメールアドレスを設定してください" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "メールサーバーの設定を更新しました" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "スケジュールタスク設定を編集" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "指定したタスクの開始時刻が無効です" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "指定したタスクの期間が無効です" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "スケジュールタスクの設定を更新しました" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "不明なエラーが発生しました。あとで再試行してください。" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "設定DBが書き込みできません" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "ユーザー %(nick)s を編集" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "ユーザー %(user)s のパスワードをリセット" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "初めにSMTPメールの設定をしてください" -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "ログファイルビューア" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "更新データを要求中" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "更新データをダウンロード中" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "更新データを展開中" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "ファイルを置換中" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "DB接続を切断" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "サーバー停止中" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "アップデート完了、OKを押してページを再読み込みしてください" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "アップデート失敗:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTPエラー" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "接続エラー" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "接続確立中にタイムアウトしました" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "エラー発生" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "更新データを一時フォルダに保存できませんでした" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "更新中にファイルを置換できませんでした" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "少なくとも1人のLDAPユーザーの抽出に失敗しました" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "少なくとも1人のLDAPユーザーの作成に失敗しました" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "エラー: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "エラー: LDAPサーバーのレスポンスでユーザーが返されません" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "DB内にLDAPユーザーが1人も見つかりません" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{}人のユーザーをインポートしました" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DBの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "DBへの書き込みができません" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "キーファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "証明書ファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "DB設定を更新しました" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "DB設定" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "全ての項目を入力してください" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "このメールは有効なドメインからのものではありません" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "新規ユーザー追加" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "ユーザー '%(user)s' を作成しました" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "このメールアドレスかニックネームで登録されたアカウントがすでに存在します。" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "ユーザー '%(nick)s' を削除しました" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "ゲストユーザーは削除できません" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "管理者ユーザーが残っておらず、ユーザーを削除できません" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "ユーザー '%(nick)s' を更新しました" @@ -516,28 +519,28 @@ msgstr "インストールされていません" msgid "Execution permissions missing" msgstr "実行権限がありません" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "カスタムカラムの%(column)d列目がcalibreのDBに存在しません" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "なし" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "選択した本は利用できません。ファイルが存在しないか、アクセスできません" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "ユーザーは表紙をアップロードする権限がありません" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" @@ -554,84 +557,84 @@ msgstr "本編集中のエラー: {}" msgid "File %(file)s uploaded" msgstr "ファイル %(file)s をアップロードしました" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "変換元の形式または変換後の形式が指定されていません" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "本の %(book_format)s への変換がキューに追加されました" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "この本の変換中にエラーが発生しました: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "アップロードした本はすでにライブラリに存在します。新しくアップロードする前に変更を加えてください: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' は有効な言語ではありません" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "アップロードするファイルには拡張子が必要です" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "ファイル %(filename)s は一時フォルダに保存できませんでした" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "表紙ファイル %(file)s の移動に失敗しました: %(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "本の形式を削除しました" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "本を削除しました" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "本を削除する権限がありません" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "メタデータを編集" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s は有効な数字ではありません。スキップします" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "新たなファイル形式をアップロードする権限がありません" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s の作成に失敗しました (Permission denied)。" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "ファイル %(file)s を保存できません。" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ファイル形式 %(ext)s が %(book)s に追加されました" @@ -644,184 +647,187 @@ 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:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "ID: %(book)d の本に %(format)s フォーマットはありません" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Googleドライブ: %(fn)s に %(format)s はありません" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s がありません: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "E-Readerに送信" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "このメールはCalibre-Web経由で送信されました。" -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web テストメール" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "テストメール" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Calibre-Webを始める" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "ユーザー: %(name)s 用の登録メール" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s を %(format)s に変換してからE-Readerに送信" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "E-Readerに %(format)s を送信" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s をE-Readerに送信" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "要求されたファイルを読み込めませんでした。権限設定が正しいか確認してください。" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "読み込みステータスを設定できません: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "%(id)s の本フォルダの削除に失敗しました。そこにはサブフォルダがあります: %(path)s" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "本 %(id)s の削除に失敗しました: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ファイル %(file)s はGoogleドライブ上にありません" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "ファイル名の変更でエラーが発生しました: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "本のパス %(path)s はGoogleドライブ上にありません" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "このユーザー名はすでに使われています" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "メールアドレスの形式が無効" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "表紙のアップロードに必要なPythonモジュール 'advocate' がインストールされていません" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "表紙のダウンロードに失敗しました" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "表紙形式エラー" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "表紙アップロードのためにlocalhostやローカルネットワークにアクセスすることは許可されていません" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "表紙ファイルの作成に失敗しました" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "表紙ファイルが有効な画像ファイルでないか、または保存できませんでした" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg/png/webp/bmp のみ対応しています" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "表紙ファイルの内容が無効です" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg のみ対応しています" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrarのバイナリファイルが見つかりません" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Unrarの実行中にエラーが発生しました" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "見つける" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "localhost以外からCalibre-Webにアクセスし、有効なKobo端末用APIエンドポイントを取得してください" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo設定" @@ -830,7 +836,7 @@ msgstr "Kobo設定" msgid "Register with %(provider)s" msgstr "%(provider)s で登録" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "%(nickname)s としてログイン中" @@ -895,9 +901,9 @@ msgstr "Google OAuth エラー: {}" msgid "{} Stars" msgstr "星{}" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "ログイン" @@ -913,7 +919,7 @@ msgstr "トークンが無効です" msgid "Success! Please return to your device" msgstr "成功です!端末に戻ってください" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "本" @@ -938,7 +944,7 @@ msgstr "ダウンロードされた本" msgid "Show Downloaded Books" msgstr "ダウンロードされた本を表示" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "高評価の本" @@ -947,7 +953,7 @@ msgid "Show Top Rated Books" msgstr "高評価の本を表示" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "既読の本" @@ -957,7 +963,7 @@ msgid "Show Read and Unread" msgstr "既読の本と未読の本を表示" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "未読の本" @@ -975,7 +981,7 @@ msgid "Show Random Books" msgstr "ランダムに本を表示" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "カテゴリ" @@ -986,7 +992,7 @@ msgstr "カテゴリ選択を表示" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "シリーズ" @@ -1006,7 +1012,7 @@ msgid "Show Author Section" msgstr "著者選択を表示" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "出版社" @@ -1017,7 +1023,7 @@ msgstr "出版社選択を表示" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "言語" @@ -1044,7 +1050,7 @@ msgstr "ファイル形式" msgid "Show File Formats Section" msgstr "ファイル形式選択を表示" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "アーカイブされた本" @@ -1053,7 +1059,7 @@ msgstr "アーカイブされた本" msgid "Show Archived Books" msgstr "アーカイブされた本を表示" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "本の一覧" @@ -1061,41 +1067,41 @@ msgstr "本の一覧" msgid "Show Books List" msgstr "本の一覧を表示" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "検索" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "これ以降に出版 " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "これ以前に出版 " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "評価 <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "評価 >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "既読/未読状況 = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "カスタムカラムの検索でエラーが発生しました。Calibre-Webを再起動してください" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "詳細検索" @@ -1145,7 +1151,7 @@ msgstr "本が %(sname)s から削除されました" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "申し訳ありませんが、あなたはこの本棚から本を削除することが許可されていません" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "本棚を作成する" @@ -1170,73 +1176,73 @@ msgstr "本棚を削除しました" msgid "Change order of Shelf: '%(name)s'" msgstr "'%(name)s' 内の本の順番を変更する" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "申し訳ありませんが、あなたはみんなの本棚を作成することが許可されていません" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s を作成しました" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s を変更しました" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "エラーが発生しました" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "'%(title)s' という名前のみんなの本棚はすでに存在します。" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "'%(title)s' という名前の本棚はすでに存在します。" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "本棚: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "本棚を開けません。この本棚は存在しないかアクセスできません" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "タスク" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "待機中" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "失敗" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "開始" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "終了" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "終了" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "キャンセル" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "不明" @@ -1269,145 +1275,173 @@ msgstr "アップデートが利用可能です。下のボタンをクリック msgid "No release information available" msgstr "リリース情報がありません" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "本を見つける (ランダムに表示)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "人気の本 (最もダウンロードされた本)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s がダウンロードした本" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "著者: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "出版社: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "シリーズ: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "評価: なし" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "評価: 星%(rating)s" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "ファイル形式: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "カテゴリ: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "言語: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "ダウンロード数" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "評価一覧" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "ファイル形式一覧" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "初めにSMTPメールの設定をしてください" -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "本の %(eReadermail)s への送信がキューに追加されました" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "%(res)s を送信中にエラーが発生しました" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "初めにKindleのメールアドレスを設定してください" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "メールサーバーが設定されていません。管理者に連絡してください" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "登録" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "メールサーバーが設定されていません。管理者に連絡してください" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "このメールアドレスは登録が許可されていません" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "確認メールがこのメールアドレスに送信されました。" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "LDAP認証を有効化できません" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "%(nickname)s としてログイン中" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "代わりに '%(nickname)s' としてログインします。LDAPサーバーにアクセスできないか、ユーザーが存在しません" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "ログインできません: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "ユーザー名またはパスワードが違います" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "新しいパスワードがあなたのメールアドレスに送信されました" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "不明なエラーが発生しました。あとで再試行してください。" + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "パスワードをリセットするには、有効なユーザー名を入力してください" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "%(nickname)s としてログイン中" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s のプロフィール" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "プロフィールを更新しました" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "このメールアドレスで登録されたアカウントがすでに存在します" @@ -1466,31 +1500,31 @@ msgstr "Calibre DBと再接続中" msgid "E-mail" msgstr "メール" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "メタデータを編集" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "表紙サムネイルを%(count)s個生成しました" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "表紙サムネイル" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "シリーズのサムネイルを{0}個生成しました" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "表紙サムネイルのキャッシュを消去中" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "アップロード" @@ -1513,7 +1547,7 @@ msgstr "メールアドレス" msgid "Send to eReader Email" msgstr "E-Readerメールアドレス" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理者" @@ -1523,8 +1557,8 @@ msgstr "管理者" msgid "Password" msgstr "パスワード" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "ダウンロード" @@ -1668,84 +1702,88 @@ msgstr "本の表紙サムネイルを生成" msgid "Generate series cover thumbnails" msgstr "シリーズの表紙サムネイルを生成" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Calibreライブラリに再接続" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "表紙サムネイルのキャッシュを更新" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "管理" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "デバッグパッケージをダウンロード" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "ログを表示" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "再起動" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "シャットダウン" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "バージョン情報" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "バージョン" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "詳細" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "現在のバージョン" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "アップデートを確認" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "アップデートを実行" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "再起動してもよろしいですか?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "キャンセル" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "シャットダウンしてもよろしいですか?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "アップデート中です。このページをリロードしないでください" @@ -1885,12 +1923,12 @@ msgid "Published Date" msgstr "発売日" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "言語" @@ -1918,8 +1956,8 @@ msgid "Fetch Metadata" msgstr "メタデータを取得" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1941,8 +1979,8 @@ msgstr "カバー画像をクリックしてメタデータをフォームに読 msgid "Loading..." msgstr "読み込み中..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "閉じる" @@ -2373,6 +2411,52 @@ msgstr "Kepubify E-Book Converterのパス" msgid "Location of Unrar binary" msgstr "Unrarバイナリのパス" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth設定" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "パスワードをリセット" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "表示設定" @@ -2385,7 +2469,7 @@ msgstr "ランダムに表示する本の冊数" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "非表示にする前に表示する著者数 (0=非表示にしない)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "テーマ" @@ -2474,64 +2558,64 @@ msgstr "許可/拒否タグを追加" msgid "Add Allowed/Denied custom column values" msgstr "許可/拒否カスタムカラムを追加" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "ブラウザで読む" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "ブラウザで聞く" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "%(range)s 第%(index)s巻" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "発売日" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "未読に設定" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "既読に設定" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "既読" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "アーカイブから復元" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "アーカイブに追加" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "アーカイブ済み" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "詳細:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "本棚に追加" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(公開)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "メタデータを編集" @@ -2604,7 +2688,7 @@ msgstr "ドメイン名を入力" msgid "Denied Domains (Blacklist)" msgstr "拒否するドメイン名 (ブラックリスト)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "次" @@ -2722,7 +2806,7 @@ msgstr "評価順" msgid "Books ordered by file formats" msgstr "ファイル形式順" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "本棚" @@ -2739,52 +2823,52 @@ msgstr "ホーム" msgid "Toggle Navigation" msgstr "ナビゲーションを実行" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "ライブラリ内を検索" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "アカウント" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "ログアウト" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "アップロード中..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "エラー" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "アップロード完了。現在処理中ですのでお待ち下さい..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "設定" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "ページを更新しないでください" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "閲覧" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "このサイトについて" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "前" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "本の詳細" @@ -2908,11 +2992,11 @@ msgstr "Calibre-WebのeBookカタログ" msgid "epub Reader" msgstr "EPUBリーダー" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "ライト" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "ダーク" @@ -2936,111 +3020,124 @@ msgstr "" msgid "Comic Reader" msgstr "コミックリーダー" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "キーボードショートカット" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "前のページ" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "次のページ" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "最適なサイズにする" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "横に合わせる" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "縦に合わせる" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "オリジナルのサイズにする" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "右に回転する" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "左に回転する" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "画像を反転する" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "管理者ページ" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "スケール" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "最適" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "横に合わせる" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "縦に合わせる" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "オリジナル" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "回転" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "反転" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "水平方向" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "垂直方向" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "読む方向" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "左から右" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "右から左" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "一番上にリセット" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "位置を維持" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "スクロールバー" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "表示" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "非表示" diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo index 7e7db8a99b1acd095912c6b11d9fb5120645d800..985f03747cffe54eea8fb59acd78a7ad3e24cf50 100644 GIT binary patch delta 3812 zcmYM$3vA9;7{~GRy0+CSTC~;CsE< zgZ#KnB%gXQ2^GK~^ux&*gR?Lg*JCq0fQs=bYQk!4g4ZwrZ=eEfK+XFGqtK_7GhYIB zqdytjvc4&$p^3Jk7CLJC7g0N?LoNIgL(tXQn5h_wTA&y;z7(~yofwXXkyp$$qTUf<|gX>M|RvrI+O`N z^uiF-Mk8!L1>K4~orX8&*#~BzcCZMQ+8wCpzDAYiG_r=NMJ;d#mAS{LfLjDQ&qt#& zl!2)@8WrFQ)P}bOl7CIGp8@UcIQGOdsEJ-+TWrtANQ_0jScIzSGR(jO_%^=4XzbX| z+3_$`0Ao-K=OR;@x!3`}Y)AgJ^R0GZ59)<;s26HchwXP%3hV6nQ&a|;kx#uJjOs^V zS4=|9GX+y{ChBnSMqV{%kXX%iHw_(z$EXZEM}Evdd?=;uf}8;2QKjgEjj%r|Lj&!2 zo*gg1!HiEwm2eMs#~RcIUZFDBgvpc99YCWujV#mxi%}1jT2~`wHJec{eq;Mps0>{~ zo$^0y|2Zln-W(W}HUPD;FjVTJto@wdyG^#!Fq2UM%tWPb9_myVVFZ?<0^5h0=m_cz z{D@uf8R}MqP}rduiNs>&paLmD1+oS;&nEQK{r`%F7WDi#V9W{B4r;J3UcqE+MFDjd zhNC7Ji<)o}>Q?02{>P~I7ockW1u9b;P=QyV0?eAM%Z#gdpqZW)o zm7td$Ps1?!IjD)}+woFVV4G3T??jz34{8HPQ5&vCw;rsap=);$b&Z;Hvf?lnRgzrm zG}J`XQ8k~9saR~skE3qEX-vQ?cHEn9GiAWv8jdP$&ralDjWh-{;aF6J1*n?MLJq9? z3^m~@d0l{8eFv#1m{;^=FlcvMD4SwFPnMW~%^M1TAZC*VWWHO?UKnr|ZZ!L_Kf zbODLY+(wnszX#8Ft)=2#p|#&?#Dnpg_PM` z#Z1(8b72^2f!(N`UPcA#OC5c&JF2uPeaU|ijUoo*YGiX}FD}PhsL1E={W~2uAlWmn z6z8AS1Ps&fk#lHPpcXug3aB1~u{ZV5Al$E_rp+K{=Oa*u z#Ep8e62r09`UE*=rY$E>W}q@sh?LvxLT~)V_U|CsH$iF6HP1!`REhk`xX;qy$9Sdl zA5I*B9kBwJ;SZRLIb33u!h@RN2C9b7ksEA!bJF;#FjFxCOHi4tL|wZoEWym7&Npf; zda=H_Mng5ZjhrL%0#%B53aCRg5Opi&U??6#4zRh3dfs=K6Hq#`hRH=8>YX?m8&Dfc zd)GN5(@EVb)Akg!53TTZ7Sf5I?}1Sb!;9 z9o?R-eCUuqLj~48$5}WVHNMj7!2tS~kz-@-=di3Eh~sW?wM{nanv|geIE~uLz44ws zEhBx(p9U3_p9+ri912eM^6M4bBPpy$Vsd<9OngH5>+pugJ-Wwx8an59C_k23?|D2R GCg@+bIH#ll delta 4011 zcmYM%4^Y?j9mnwxf*>F&hzjE1hdP}68;ByHfk`QtE=)z1nf>zjQ-2My`$4X&bA9g(Y7p2v*czjYYTJMb$V--b8WZg*F2YV$4*_lIXd0*<@a+p4tab(pWpZM z@BMy%zu@43xSzfe=X{=#@Vw#c68|RfFO;O#|G)N+FeZcM0UV0&;cz@*{lxa4!xZ{2 zTCX7A=4*b8#8iHa!yMFn709<^=J8Vln^7AGVj6a05%yp<9>GLBjoRa9s0lqx!0R{~ zZ=g1qG0LAe52w&BM9p^(7Go!lVSV!&7n-Oawa{m_eGPSj)O3I0@i?A#J_d0%YU8f$ z--|lgam>fF$Q0%}@@-Q1Pzz5$MY0joSl`^ug%(5S&##+>gBd85TQ44QErZzh<2Y)e^`0M2F*^ZA;11_QlTtO9E zJaN;6si^);R0Il8BE|ZHY z#!A!%noy}|!6CR36`==gzhnEK!nyQ!<0SkDmC6Au#ZgSEgVdoS=`?Vm50+yMZpE3{ zkGCEx)PNh-Boa&7%_!6alWn^K6`A>{s{gKSKZJ_V6R1>gMWs51q{1;j@h{9ld&6<- z?@=5092LqhP*pyFI@t}>#wLL ziK^}_)Pe=JU5+|I9adu_*5DRYYJQCxe*$%~-=XIDgKb|xjlYb_{a2_+4gUrk*Ylst zg?3tjny3yH;s#VL+-L1T4eUYP=b}>ZitRs)0oos;B67+0-#~3_6a}OE$DwMj03Ds6 zmug6I z;Ag1Fz7%l$i??mZX;f(cj@s!p)WGYglce%2X~JBL#{yL33Q-HsK!v{Ewp*-gQ1^G> z<8j73inD3|%i+bYot9J54Ook+-fq+jVn5d5G21_c4@+oI!Ae|)8rOqL*%>UvWb&r_ zrsH?;K`g^Ju?5fLbaZAF_%D)&tvm5vK6o9qf#fOvgn6hJ%K~H#vja8JAzX&3 zaWn0=Fd3^jwrXT9YTOD`t{=lr{2@M$>7_(j&;JfCG;j~{sGj<(unU!Y{KRE0O~P5f|~CnR$+3vUrTebnDxyvE|kkIyc2(gTJR>`g}Icv zCVU8$%VQXi=_GtJjzQi30#aAzm#7!bS>z>W1~7stBzzurplakOI&oCvMJ{yGFK76_ zX2-IdgS11q8Z&1S1$-25O^AwA3dc#uNtlT_Xjl3iI)*HM8D- zRaaWqAa!S6K+3>;fGYMu+jfTD;a6of-pdD3)P_zWbDE3Dy=E$vc|Wd4o%AGb!^^l5 zH&R(j&8MjGH<3e|toi<5L@iiAy9+1bUL>-PImJac9UeZ75#pAFS8*8r7nP#;M*k0! zY}8}67*$k3)Kjt(C*YrvdN%(->eQ4h@HZ4j_GCJ75&jmN^!$%zv`!SlDYyj{iPume zOI%3hV-2=qAF4mVEZWFYq-;zGb8t6K#&h>2Ji|+{2iLN`ImbmjHr(wG zScsZn6_(&r_!~TgS|HlwPxve<^sk^IG<325Kb#y?&CEyT{z=q<4k5ubY4`Z+G^3*& zMYvdwdvOoOvAr&Q6*X}YkAxy~yETH^;15udJB)>R23MedA%x&Qq|5Z9igYZGiZ)h- zS~uFvUuOE?5FPSU9F6}*>dK_BEA=;F4MwpN51=-10W&bUrElAaf|Lo3Z5xBFkx*b+ zdpOz_Tptc>hz6R1?d{*+5Dmp%&1x-f4F}u9fz=z@)Tv}q+}m4Wi=nzFK@vhvur{HyV0r4@b7#ML$y9<-tC_IlGnS< lbC2kw-Y(C5(O=(lyFK^tt^1F9Zp?ET{uUQ~r)o>H{s*Ct@c94$ diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index c65f54e9..129515c8 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -17,501 +17,504 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "ស្ថិតិ" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "ម៉ាស៊ីន server បានដំណើរការម្តងទៀត សូមបើកទំព័រជាថ្មី" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "កំពុងបិទម៉ាស៊ីន server សូមបិទផ្ទាំងនេះ" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(eReadermail)s ដោយជោគជ័យ" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "មិនដឹង" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "ទំព័ររដ្ឋបាល" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "ការកំណត់សាមញ្ញ" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "បង្ហាញទាំងអស់" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "ប្តូរការកំណត់ SMTP" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "ការកំណត់មុខងារ" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "សូមបំពេញចន្លោះទាំងអស់!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ" @@ -524,28 +527,28 @@ msgstr "មិនបានតម្លើង" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "គ្មាន" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -562,84 +565,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s" @@ -652,180 +655,183 @@ 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:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "ឯកសារដែលបានស្នើសុំមិនអាចបើកបានទេ។ អាចនឹងខុសសិទ្ធិប្រើប្រាស់ទេដឹង?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "ស្រាវជ្រាវ" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -834,7 +840,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" @@ -899,9 +905,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "ចូលប្រើប្រាស់" @@ -917,7 +923,7 @@ msgstr "វត្ថុតាងហួសពេលកំណត់" msgid "Success! Please return to your device" msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "" @@ -942,7 +948,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "សៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ" @@ -951,7 +957,7 @@ msgid "Show Top Rated Books" msgstr "បង្ហាញសៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "សៀវភៅដែលបានអានរួច" @@ -961,7 +967,7 @@ msgid "Show Read and Unread" msgstr "បង្ហាញអានរួច និងមិនទាន់អាន" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "សៀវភៅដែលមិនទាន់បានអាន" @@ -979,7 +985,7 @@ msgid "Show Random Books" msgstr "បង្ហាញសៀវភៅចៃដន្យ" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "ប្រភេទនានា" @@ -990,7 +996,7 @@ msgstr "បង្ហាញជម្រើសប្រភេទ" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "ស៊េរី" @@ -1010,7 +1016,7 @@ msgid "Show Author Section" msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "" @@ -1021,7 +1027,7 @@ msgstr "បង្ហាញជម្រើសស៊េរី" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "ភាសានានា" @@ -1048,7 +1054,7 @@ msgstr "" msgid "Show File Formats Section" msgstr "បង្ហាញជម្រើសស៊េរី" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1057,7 +1063,7 @@ msgstr "" msgid "Show Archived Books" msgstr "បង្ហាញសៀវភៅមកថ្មី" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1065,41 +1071,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "ស្វែងរក" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "បានបោះពុម្ភក្រោយ " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "បានបោះពុម្ភមុន " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "ការវាយតម្លៃ <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "ការវាយតម្លៃ >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "ស្វែងរកកម្រិតខ្ពស់" @@ -1150,7 +1156,7 @@ msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "បង្កើតធ្នើ" @@ -1176,73 +1182,73 @@ msgstr "" msgid "Change order of Shelf: '%(name)s'" msgstr "ប្តូរលំដាប់ធ្នើ៖ ‘%(name)s’" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានបង្កើត" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានប្តូរ" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "មានបញ្ហា" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "ធ្នើ៖ ‘%(name)s’" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "មានបញ្ហាពេលបើកធ្នើ។ ពុំមានធ្នើ ឬមិនអាចបើកបាន" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "កិច្ចការនានា" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "កំពុងរង់ចាំ" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "បានបរាជ័យ" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "បានចាប់ផ្តើម" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "បានបញ្ចប់" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "" @@ -1275,144 +1281,169 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "ស៊េរី៖ %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "ប្រភេទ៖ %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "ភាសា៖ %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "ឯកសារ DLS" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(eReadermail)s ដោយជោគជ័យ" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "ចុះឈ្មោះ" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" +msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" + +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "" @@ -1471,31 +1502,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "អាប់ឡូដ" @@ -1519,7 +1550,7 @@ msgstr "" msgid "Send to eReader Email" msgstr "ឧបករណ៍ Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "រដ្ឋបាល" @@ -1529,8 +1560,8 @@ msgstr "រដ្ឋបាល" msgid "Password" msgstr "លេខសម្ងាត់" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "ទាញយក" @@ -1674,84 +1705,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "កិច្ចការរដ្ឋបាល" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "រកមើលបច្ចុប្បន្នភាព" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "ធ្វើបច្ចុប្បន្នភាព" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "បាទ/ចាស" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "កំពុងធ្វើបច្ចុប្បន្នភាព សូមកុំបើកទំព័រជាថ្មី" @@ -1891,12 +1926,12 @@ msgid "Published Date" msgstr "ថ្ងៃបោះពុម្ភ" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "អ្នកបោះពុម្ភ" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "ភាសា" @@ -1924,8 +1959,8 @@ msgid "Fetch Metadata" msgstr "មើលទិន្នន័យមេតា" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1948,8 +1983,8 @@ msgstr "ចុចលើគម្របដើម្បីបញ្ចូលទិ msgid "Loading..." msgstr "កំពុងដំណើរការ..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "បិទ" @@ -2381,6 +2416,50 @@ msgstr "" msgid "Location of Unrar binary" msgstr "" +#: cps/templates/config_edit.html:361 +msgid "Security Settings" +msgstr "" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +msgid "User Password policy" +msgstr "" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "មើលការកំណត់" @@ -2393,7 +2472,7 @@ msgstr "ចំនួនសៀវភៅចៃដន្យដើម្បីបង msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "ការតុបតែង" @@ -2484,64 +2563,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "អានក្នុងកម្មវិធី browser" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "អាន" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "ពិពណ៌នា" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "បន្ថែមទៅធ្នើ" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "កែប្រែទិន្នន័យមេតា" @@ -2612,7 +2691,7 @@ msgstr "" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "បន្ទាប់" @@ -2730,7 +2809,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2747,52 +2826,52 @@ msgstr "" msgid "Toggle Navigation" msgstr "បិទ/បើកការរុករក" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "ចេញពីការប្រើប្រាស់" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "កំពុងអាប់ឡូត..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "ការកំណត់" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "រុករក" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "អំពី" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "មុន" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "ព័ត៌មានលម្អិតរបស់សៀវភៅ" @@ -2917,11 +2996,11 @@ msgstr "" msgid "epub Reader" msgstr "" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "" @@ -2946,111 +3025,124 @@ msgstr "" msgid "Comic Reader" msgstr "" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 -msgid "Scale to Best" +msgid "Long Strip Display" msgstr "" #: cps/templates/readcbr.html:98 -msgid "Scale to Width" +msgid "Scale to Best" msgstr "" #: cps/templates/readcbr.html:99 -msgid "Scale to Height" +msgid "Scale to Width" msgstr "" #: cps/templates/readcbr.html:100 -msgid "Scale to Native" +msgid "Scale to Height" msgstr "" #: cps/templates/readcbr.html:101 -msgid "Rotate Right" +msgid "Scale to Native" msgstr "" #: cps/templates/readcbr.html:102 -msgid "Rotate Left" +msgid "Rotate Right" msgstr "" #: cps/templates/readcbr.html:103 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "ទំព័ររដ្ឋបាល" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/ko/LC_MESSAGES/messages.mo b/cps/translations/ko/LC_MESSAGES/messages.mo index a29c34d3ae4b017a5e711d88ea440491416a247f..4f0c1cbcbc6d6c807a357e88596bd648dedf9426 100644 GIT binary patch delta 11208 zcmYM(33yM({>SknKZ)!_$SRQ_K^79Bb`ivy)LK$SEk*1*RrII!t@H{}Yq@ACwM9x$ zQMGkJtEyVAE|%M(t>vng;{X0+=6U{o`t&v5Ip@rL=R0#wLi3loE-rGpuaqyn+~J=c z9*$E97gbdB|Ns1x;5ey-Pp~T1PIR0k?25X7I+n+^Hr|CX#HX<~{*Lh&%|nVa(Hke= z3y$MHWj`P?M6O$dM0S-h@T!-nn3CrL$bm46b#XDFXy=ys+FQ#B1Hb#GJj}@>7 z>b~K&e;Ecczq7%1>_ScW5o(}MtYW;4i3wT`7*^gCVFm235*548$g=m3F{aurI2j z$FT`M!)$EAes;wL=Gsxr^gsDEi1zI7cZ7|WvKs;ElTKvkj@#$adEL}O6{EJE$+ z3RJ?y$ReFvs01t3bDT!l4z*RYP|qzuj*YXt9`&zD;}be6;&0dkUC)_JUqWrcI2$iU zCGajr;SqcNioO1~jf3i&ElENxq%p=}4^)Mwp~ju%rlAtQgEjDDtcEwS4VL9q2*Mty z`-Y$rScv^_GlpWBhGyW(s1?SeCP+n{l`Q06=Vks=7FVLib8n@gJ^CCg;APZ=cQFH9 z)K8_%M3rzXYD->49lqJ9)4Uip&Ki6D1Jrm2?Dey#1^owgHsTsPPD{Q2sWh~Q6Hu?m zT2#hIP^b25)P&^-bjqVp2_~TiYKB@-dsHGlk@Mx`qR!MB)P1{9XX_A#;KvxQ_x~b| z%5>aAt)P5UzE)Tjl~4;*sRp91ReX zhGPrVe7#WjkI10@+Ov6dD8qczYxutP2r7{as59{+>U7^nRp=?|Q2Mnn*Mm^cSHmc5 zgi0s}mB3KcJhM=VyxqcW_IfKF%IFm8kX=PhbPu)XPf!Du=Ey4H5YzzGPwfZEa#_WESh_zSEn-S)y3)Jlp_B`-#{+4DWqO}WZ zg2~nu7)@M=+LH5_jWh!$+u!#I!XlX@E*N6BDop z>QK%=Z`_Whu@JR|2TLbmDots+c6ufwOt7A2+i#nVyB0r~`;aCPYqvrb{oBAu${d6evQ`T#! z37zNpZ3Ze}5A2Idct2`OJUW_{Rz`hrYTLN2jdM_M%NXQS;cP;ktsAI>lR8oVSQ@Q5 zncs2;VRPcQu_}ItH*No4sI%th z?qc>d2y4<2f~rJw48mThQjJ8Ng~`az6K6W=tQMgp3AlICs7<2~HPLm{M0Ze!<{_#=u5M=Kaj3+aqV~EYYQSEo0f%7)9D_P5b5P%f z^{Bl+j2iz0rZK;BnubnwsTWM$zXNteeUKKQ=G%&)djEIO&y179)~Xo8K1Uqb!<>EzQ;NzR~7@zh7t|RUgi8EX8_!4GzZ!Ml=3dlaD=ngq)3HlWF_2Q48vc8vkX~VIGRQeTXWd(>9kMQx$0zxf3w3{|Nt)WUKwxMY4Bp>#~J zzKI%OGitB)p(;>p`;VapxPYp_52%U%z>4TKz^u3uYMexj!KSE$`q=()Sn~V-Y#JKy zU#OL>!g{y?Rf%sg34LENTT~xw5|6d6!P>+ptbbwxar{8@t6FEQLi`%4e=R2BDRgU~ z|IvuS=t1UzbW|d_n1-Wlyb-mR@1rLcp(<32I%Fr&3(uh{^Bul|9b+&s*Oag}x`;DShbI$DV^?bqDxu!k9tWU4JUg%%7TfDju{?3< zA?C{%I)wA5%-YhSJ)DYq8}d-4KaJ7o3^hORE2A>+jGAx~`rO&%w!aVWw_7+RqFPr0bWFvb_nXN7>!Z55F>Fb>Mb~q`of*V7`%lV z$A7q)I1&{%#sqY?r=gWjz#6y(HPKgC2`{2b{s60^YlP!;!$kDQ>8OO?M4kTS7=YVQ zl_)~JU7w>5UPUGR8?uFN$7iIuAY|je}Q^iE}+iDUDR`~SIzyQuTpBRjHUmeX5~yM0Iv7ga9OqyT*2f>*H1uOP^fmLlUl;5^yutb# zzChe?iuuc=C8*c%XN*DLspgC%q9$mEU9lf(VTBlhU!fAbjjGgr)I!~*rkM-nQ7a8c z-B8Q+H?eU`8+S$xn1dQ%9H!wcOv3%Bx8*wO(A`0OS3+JlAGmbPCLWEg_5L5Gp;Pb4 zR_H+=)Ib$b17x5Q8;k>RDr({%t#_>+)6JO)MpYsKwbw1I-BHgC#mYDZ6Pe#xO`|p) zCs8GOh}!$77?0)NFsHvhCJ;}=EZl%f?03|Ct{EnQ1Z2@p2Bu;$YTUc1FXmsU3VP1u ze&%;#XlT#tqcWa}F}T9U`%x2pfm+#5I1c~D`Z!{inP4+&>$al~-vJvRvz|j$_(#-t z;TF0}R!XA<9pz@5m3PHl;(?fgXHYA7hDs!Lj`?3Utx*%MwQj>e;vyTLvR<%W!=_xn zhpIrzTKpj8kNu# z)It|v4P1lTqT}A z--V7?9dj`O-?AP=orN228rswQSQ-5mnt>8gXQ4G#!=6|b-KYmQVifK|ZOs{Mjm{!- zUmH|n!%&HgMa{Di^>{Ha4`2)vb|F_IO5h5n<8^F~aZAl>I|#L> zTT$1KV>9&3Gq%D6;+d$@@4ytifNo`0W|{e+Q4zJ5L$DRj#7cMywX*B@JfR9(V(FeF4JNY!S=(vbV zB<>wE(J+iBUWjdQ59+>0n2c@Ko1bD6P%D~;n&^F0A}6sO`fo5>)g66_d!s6sThi}l zbgYOgN-prX)7HIMm;QsOgzlhL5c+RZ!c_Dk&csfbg&lA$YD<1aC01&qsc}ztfyXGwg^e`C`;oY{Vw`0V?C0=#P)B-kZ!9vLb50x~TiIY~0&kpMXkm8EX91 zs0Hjow#m{ek=8VfsPY&RKrT|n{RstY9)J76JEt!^xI|*(Rhp{cB59l z0hQ=Ztc-`SDqcptX3qAK|J&_Uz(m3v)Yi^&(@3H5F(%+Wtb$P=m_ySXRgvE4h5b=m zF$BHwHB82t7=XL2#i%VhZT%MY`u$|Rj~d7Axx-utK|N3dm2n*#x3+e|0Q!5P63Im! zrcu^e7)ZR*x&`%C?L*yv2KD?mHol6!%%iy23|EcZw z-fb#W1vSBQs6?7tyV?F>s7j8t{c}(iSZm#eC4c@eq7lS}W2gi!picXb*c`86YmD1t z5*m)$`|+p*rdem9CRk`)X?+hVwNr@xcm(y_X>_Y`-rjHt1Bq{7IedV+?p0t8SpaG) z8l!$DOvDv7aXXHnx^Ms4M9s59fa*CZOTm-?sDQG*UY?1`Fi5bD7ZsJ(sN zx(3S=AHb3oSkI%j>=LR14=@N_g(lI8sI!%dN+b(4{wsy-zg958-nb6+-~rU{17Dyf zx^BIV?TGJVOKkd~`S84f>i-z^t@qn!&QuMIBW{N^aTIF7E3KcqZQ}{n;X>{G=7#>( zWmtj!6Bvq@Pzl|~OnihYb@L*#@@&-gmrz^M-^RnO<4_fP4dc;0k49@6JFzbQiTV;I z9x$KKPMAi#0QDt2jC$|}s)PXt&0&p3orx-_1e#ehty$Qf{;sG5)?pjH|J&^i|3iH` zA7d+wJY>GveNhSRK=pr(O)=~vQ`+vR%1uQ*zY~?fS=2-qP_OYdRKmAW_dUT_z5h{% zO^MSng$vzKrJIexxCGO2BkJwAiWTvm)w|eC6pi`-C0UYQo8=`!}H$ zT8M7FPB&=i5dDox!0Qw9U?gg<<4|u&mW?N1H1QhLa|cn0okIO|JBQkWr&iBnCiX{F zE*O2W<}vE83G33Ky=sTa*aOu+8#VAMbm1oJ7SwCB9krq>7><9S-V&eV=2x&-)Tem_ z>iaSamDpRTtzB`vi|N=#hZ5LhZ#aS)_@s?5q7wK4z40o>;B9Nb3G;r}!o0(YQ3YEQ z4@DLfwAmb#H{->jc_}@s6wK=x?ose%ujgHPDSa0geBSp}?}9Ny7Wo9!O-_9-CbeFp zlzNFNbqajPZ7StTt(8)+dwjRpf|234Bji-pBDvtPx9yHN@3e5+o8^Ns%aG3t~65H6kQLLK3ys-x3;2O2rby)=^58 zjKtQWt)=@6E$!15tyZ5}@=rU{mX0ar`FwNE%+tQ+)%W?Gd+#~F^E>C>KbmSm2wUPI z8-IpXh%1IU&Pd1cI5lXDqGK|4#W%4F-ouI*9_~2N*bysZ7W&{qtdEPa73QNazKu2T zBlN?sFaU3%?t5tao0DA)=651#=*Ae-go9864Yy9f8pJ7B6X&85$U)t|29?NqR3#2z zO+1Yn=dY;Be1T8kJ*)Br0=|K9*sz1+u)WR{Y=-MmnHOU{{2y$K zKcW&3?8q}1iIs35R>NUf3n!qqE*({=IjG94?MVGA(AY{x9o&hEi%^v~fvUt6bn#o% zMCCh~0UD$Bv=u7hA;_Yg1*ilMVibOf+Nyxg=D9}5@p4*prv9NchSO0OpU2Udhsv}B zwFN#;nm7oRKxb@%@u=%*_WDX2??!FODbzwf!WMW7RiWyfa6K2`p`jAD!w?*b&2c{V z#hvJnw@~*zKqU~^)o~KA6V}JgsDTfoN_z}7!8@q4a}D{Q^ArE7iJ?(uJWp2|+M}@; zfT^enmtarKLzVI~R0+#JWwxXW>hRS?o#r6aIBo6q?x^tw*y|Hf3z~sC8%MF1-v4)K zXb&rLM0Lo*P#MRgPHiIp(izx=D(UN}1W%y``WtFRU!fAYi=0d6pQtm{w!67626eXL zupSP@hI;>#X*8u{DQX2TV-Oah68aQX`g^Dn*Y9Bl46?RHCD0j_SS)HQ$KWtrg8lId zsv<$rW@|cNHRg8)(@Ph{zXAPb<8MZ{dhEdjdR3cMQXJRJmbT30y=tb0_+-9%u zMm=AQP4GihLbp)~{0miy08X9~3F+lAd)<`|Wi$qL$TCqAEk*5lE^43+sD$^T1}H}D z{RJC;hDz)QRN}v&w)By`UbVLwzmYZ6Lqh{~L9L`es^mkE^Wsdk?nUkW|6+Um7ivXe zeN1Kgq7r-twSZJqVhd0StwvQOAIrWEsD*gmp`iyaqE`AX>hRpgFsv18UZ)zG?jqH9^(B##R_a+y@8YWYpFivGMyzq8_JSKQmzq)TtbVns_pjgR>r6;1{UM zJVvdkUVoE#Ft#S{grWE>R>4(R0rOBR&PR>=XH+FW!CHF%f1uHcj^9u>h7B-V(FLm$ z_dq2Uhk8pAu@x@1{jZ|7@GVp&FQF#*4g>Kw9FBDcn&+mX##@Vl%=(C#!U~PO2 zwKZq3I=*lFKljk6NXH%2p8kZP_$#UsL7W^76osl(99F{7*c~UJ&PoBQ5?`PayoZ{w z#t3uR8lbka9d^M!SOYzaXefbPY=?QMiO!)W`Wx!de1^^NThz*ZMw-L|QF|YT8ZZhq zUVjY0A*i!58TEZwgxdQ8WPFdaheiiFUPD#j8&u}sqi*~W%j11if)7wz5jx7OI11|$ zkH*$G10ygWUHky~>^pZc3d1-+`Y0qTrgM{Vt0R3g8Qr~bOZXM#CQ^|5Sk zZ5)MqAP#lkDAeJchBa|EYT)Il!@3@I=(bo7+3V-5m#_iXucOY^{Rz}x13acfE2=ip zOi&AT>H|>^v_ef7gPI^7RkVnf`4O7H}#0vAx3e~C)uTh#UYsFM05nCEJv?r)2lD8|NpQCl_E_IpxjD6^TU zffi!ficmMMN0oe+jbB4;$w~CVbJ!K%L!FUwlT3o$P~-GQRdx{SyD$tj?iggD9%qVa zIM1P0umUx~MpWiIZU0_Wf=5vUoVERzQ1^X1p(Y(veD|9d5F|iz?-P48dkoO$i5}`e$Gp%tt+c9$owqb$`udlSmg-<)Uqz ziCWlvtcWX<+5gHk*3zLvw%OkJGU_eZkInETYM`sA1Zt+34^$MkAWlXt;6>Yi2AdLl z(M7*$rea~}LmZ7dL%pU^{|YpQ(jiBoG8>BnFah;JI*2{+H0t_8tc~TTn=fZwRD!Xn zt(=c~D_%lv!ABT`k1-OPq?*KscxY(A+31T4P#La3?eQvW0jeU0tY=Uw{2MC4A8r4? zF@m_}40HHmP$ln&dVVxk!l|eal_!lx6B;Wq5ci=Uos;;z^l z`=M5vi6OWbHPJVm6--1`JQbTTzmq{j6R)#3Sk~DKA7VA)FHnhmZ~O0{ zO8Oht!pHV{%?vYe0P6mxsEM1SRvd!b;z(2lhuC;3dcw-{^GTy87mBjXhvFW_5i>lN=P%Hhn?XN{ewbJ^i>upi@N7=Zi zjfWuPd7M!+G{7wEfJ?D09z(q@H&KV~N7RQUV6pkab;m)(X&8&AP^aE!iFvLvYMk1r z=c7@HC1E1Y$Fjfwe_hsKPp!^Ub7=fgl?XxYb&PccD&b^oiu15+Pq7{G1=Nb~q4xeE zw!|9C%<1oht%c(=}CV>!ScbsU9#M7vOe?omR@1wTFXSumQ2({;( zPzf(V7dP7Y7;2smQ49M9J()CqqoG4IeTA9ejSfI569Y<$*w3AHs}qrMAwuxzFH zG;xg=Ogt2mi4!pbKSnL&5h{^(Iof|3y>rZj+pPOh-|XWye%E@%`W<%X`rlC%2w!Qw znEg=+kHm&J5xe3%48Fn7e=90I3COP8kNvI)Jk(O1h=BL z=p6D9b$YHg*Nd?k@w=$!Z(~(_fWGLn#{5>)@X%03^-vQxN3E!hjbl;Yg+bT~r(kP* z(Rvd7h`&ee=|511vTCjwClqxSdSi1OgTeSb>N(GD8ck>%Lha4R7>kclH}-kaB$k3o zWF~5&m8kE+Zd55x+v_*&^@kWlf52LkKnK*G_qC2g#_>3_XsARhQG2%4#>H5j_=1fu zqXzgMmB0g3Mf}&9m3Bq-kFchqR-TPYB;WQQxBVBfD)T!xX;kKhQq%jIs{2{o}0DP|we`*K@5qtcOus{5Gm$?_q}C|56&W@Y(g|Pd=aGAmZDol6THC z6AwWp@~n;1Z0xb-q7vAKI&6iu{|&4|{5~pyYZ#3;(Gx=>c!POwC!_XsAL@p4*aLkw z8lOfTz9p#AAH)c}g2`BMlSwcQhZ8SEZRsWKjd!szw%cqL7`K`F52j-)9h&eC>VeRF zGf*!KARdZQI0co^Zq!O{pjLVd>)=1IBUapEUcV@GiO1nkd>-}sT|{m9S6isRO8Olg zn&|J?04r`a2?e3z38=lFgZ`LLGVux`BeuObNY@2y55B1s|#5VW|hTX`0JQ}lV;{VMN~GmZv%m;c#k!#q z8j4Nz{?DLMjgDOGhg)z8eupYi|6S(S?M2jtuV7;=Ms39>*br}GPke-N7`@vhvId(H ze~K;fXY7j&U)Fsd{)|Q=jE+NC8?RwA{0TLY|DR1F;n<%z6SY;RQKdYOs?0^(e*^0g z-@>~1*!BnPG0z2JNBW<@mdx*rrlA!qLX|KdHNioQ$08hv6<#r05|2tO8CBxtwtp?E zLi?}>9z&J<9_l{dz2^T>4L~J46g~P8m_$RSV-PMx?fo{?jYT#-Z?9j&O7#DZnxOnX zvw-@ji6gNx&P3fe7oS9rjgO46XI#8_c#X! z;8(W4#eV))L);6aF%O@>%UA*Lql>?z=4*Vwyj7tGsDCRu!ssZEBT=u_7}P*H*a6?i zuJ{mjRyx0CzF?Da1o07UiE1!@;k#H1|B6-cYYf9%sD$eN#TblLi6gB~p+9jS>uA(CDJJ$f^J(aT zHK^0S$;Jn)#i$9+pc45Qb?7czZ(|MOM^?Wh=Jg9i-QOPdd{-OyMOAcgSwH*#CmN0D zn2LH0m!eL80Y+glYM`IcAMc~y?+90IM2qvVH4(e zDi)g+1*1#c1yzwhp%O~O%J{tPUvB%?VjcSTqb53yO69QqU;U^_usM2^ zX?q$fNepU*15pW#M<1MuF*qG#@gORpUr=Y^cT@rujv1?=#;t92t>LJ7x}gql-($T0 zdT<0Ca;&{!5^7Ipph~*XUeCoa;ti;+Ig9!+d4wU@@VH6*X=@y6qEV=E60tsJVF0c< zPW_eXZaO0IFjm8FQ3;iz9{d&c{#HC;4942TJ+W*7*0HE9n}iy7A*!OQP>B|x&e{pA zkC#JeXo3>d3Lc_vY;n>&*b^HN56^q4RUJ=%TJ!1An|&UmvC13fXQ?0R#a)js9>x}U z2}AKdYKiWf#$ncMY)}6&8{e@8o-#EWgi3YNDZ5$o>F7hp5>#>DL#_1+sutg&PR|`1 z|6=_Y>b`QP%@1)+j3w@j9r1bWj7L!4$UE2-Yn(CP;C^S=EPWdn($Nz4plbIK>X=@` zK)iuUd&8FVu@W2&2)HKtu1vZmf%i z)^|}8T|*6c*Xno9lr|i73=>hMosF$=D{6uZsLFncN~GL*^JlSoIG%VSCNsZtnuhka zUt&wVi6PAI z_`YX4I$#hNo#M^09!QJTM0qaK?O6J>x*L~1H6_hW$c%DZgrub; zPESjikrbNQ){X1kGu|DZl<{0rhMSh2T zvf;AQNj5Vn%bjTlE&BHuw|o=waEA{X5%11mRF~^nDQQzP-6<&TQzL1{ zBnFI6&rB&xHf6&4N(?q4eP+?G6FgOd2Pe(>Z=&v;giHoW%W}D6Ui$0|w~xjxN}js8 zYW4PE5uM%0u2B&YZ6YFz{ATSb=Mxd$p{OWhL^Dsxn#JBD#cs*&g1g60c(mTuhTdUNuLR(Q9saZB>om8{y}dY2ybZr$(Qv99Em zQ?7U8nm^p)+&xiPvg#Gro4v=oYojxASR7NjrA19PEUVj~Y;&31yLY>Hd$wD;rNEp0 zm(nd8^4?lkH}B{R0eQvylRJ8M5cGg$666JgMD1-flk-V#4_pUDR=I;p)4=;NA;2\n" "Language: ko\n" @@ -15,494 +15,497 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "통계" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "서버 다시 시작으로 새로고침 필요" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "서버를 종료하는 중, 창을 닫아야 함" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "알 수 없는 명령" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "성공적으로 %(eReadermail)s에 보내기 예약이 되었습니다" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" +msgstr "%(email)s에 테스트를 위한 이메일을 보냄. 결과 확인 필요" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "알 수 없음" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "관리자 페이지" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "기본 설정" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "UI 설정" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "사용자 관리" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "모두" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "사용자를 찾을 수 없음" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} 사용자를 성공적으로 삭제함" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "모두 보기" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "잘못된 요청" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Guest 이름은 수정할 수 없음" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Guest는 이 권한을 사용할 수 없음" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "관리자 계정이 하나 뿐일 때는 관리자를 삭제할 수 없음" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "값으로 rue 또는 false만 설정 가능" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "잘못된 권한" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Guest는 이 view를 사용할 수 없음" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "잘못된 view" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Guest의 로케일은 자동으로 결정되며 설정할 수 없음" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "유효한 로케일이 아님" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "제공된 책의 언어가 유효하지 않음" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "매개변수를 찾을 수 없음" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "잘못된 읽기 열" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "잘못된 제한된 열" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 설정이 업데이트 됨" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Kobo Token을 삭제하시겠습니까?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "이 도메인을 삭제하시겠습니까?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "이 사용자를 삭제하시겠습니까?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "이 서재를 삭제하시겠습니까?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "선택한 사용자의 언어를 변경하시겠습니까?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "선택한 사용자에 대해 표시되는 책 언어를 변경하시겠습니까?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "선택한 사용자에 대해 선택한 권한을 변경하시겠습니까?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "선택한 사용자에 대해 선택한 제한을 변경하시겠습니까?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "선택한 사용자에 대해 선택한 가시성 제한을 변경하시겠습니까?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "선택한 사용자의 실행기 동기화 동작을 변경하시겠습니까?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "캘리버 서재의 언어를 변경하시겠습니까?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Kobo Reader와 전체 동기화를 강제 실행하기 위해 Calibre-Web의 동기화 데이터베이스를 삭제하시겠습니까?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "거부됨" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "허용됨" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} 동기화 항목이 삭제됨" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "태그를 찾을 수 없음" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "잘못된 액션" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json이 Web 응용프로그램에 대해 설정되지 않음" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "로그 파일 위치가 오류. 올바른 경로 입력 필요" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "액세스 로그 파일 위치가 올바르지 않음. 올바른 경로 입력 필요" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "LDAP 공급자, 포트, DN 및 사용자 개체 식별자를 입력" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "LDAP 서비스 계정 및 비밀번호를 입력하십시오" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "LDAP 서비스 계정을 입력하십시오" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP 그룹 개체 필터에는 하나의 \"%s\" 형식 식별자가 필요함" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP 그룹 개체 필터에 일치하지 않는 괄호가 있음" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 사용자 개체 필터에는 하나의 \"%s\" 형식 식별자 필요" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP 사용자 개체 필터에 일치하지 않는 괄호가 있음" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 구성원 사용자 필터에는 하나의 \"%s\" 형식 식별자 필요" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP 구성원 사용자 필터에 일치하지 않는 괄호가 있음" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "유요하지 않은 LDAP CACertificate, 인증서 또는 키 위치. 올바른 경로를 입력 필요" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "사용자 추가" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "이메일 서버 설정 편집" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "데이터베이스 오류: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "%(email)s에 테스트를 위한 이메일을 보냄. 결과 확인 필요" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "테스트 이메일을 보내는 동안 오류가 발생했습니다: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "먼저 이메일 주소를 구성하십시오..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "이메일 서버 설정 업데이트됨" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "알 수없는 오류가 발생했습니다. 나중에 다시 시도 해주십시오." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "사용자 %(nick)s 편집" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "사용자 %(user)s의 비밀번호 재설정" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "먼저 SMTP 메일 설정을 구성하십시오..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "로그 파일 뷰어" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "업데이트 패키지 요청" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "업데이트 패키지 다운로드" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "업데이트 패키지 압축 풀기" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "파일 교체" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "데이터베이스 연결이 닫힙니다" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "서버 중지" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "업데이트가 완료되었습니다. 확인을 누르고 페이지를 새로고침하세요" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "업데이트 실패:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP 오류" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "연결 오류" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "연결 설정 중 시간 초과" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "일반 오류" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "임시 디렉토리에 업데이트 파일을 저장할 수 없습니다" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "업데이트하는 동안 파일을 교체할 수 없습니다" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "하나 이상의 LDAP 사용자를 추출하지 못했습니다" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "하나 이상의 LDAP 사용자를 생성하지 못했습니다" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "오류: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "오류: LDAP 서버의 응답으로 사용자가 반환되지 않았습니다" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "데이터베이스에서 하나 이상의 LDAP 사용자를 찾을 수 없습니다" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} 사용자 가져오기 성공" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "올바르지 않은 DB 위치. 올바른 경로 입력 필요" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "쓰기 권한이 없는 DB" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "올바르지 않은 키 파일 위치. 올바른 경로 입력 필요" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "올바르지 않은 인증서 파일 위치. 올바른 경로 입력 필요" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "데이터베이스 설정이 업데이트 되었습니다" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "데이터베이스 구성" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "모든 필드를 채워주십시오!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "유효한 도메인에서 온 이메일이 아니" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "새 사용자 추가" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "사용자 '%(user)s'이(가) 생성됨" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "동일한 이메일 주소 또는 이름이 이미 등록되어 있습니다." -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "사용자 '%(nick)s'이(가) 삭제됨" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "게스트 사용자는 삭제할 수 없습니다" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "관리자 계정이 하나 뿐일 때는 관리자 권한을 삭제할 수 없음" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "사용자 '%(nick)s'가 업데이트 됨" @@ -515,28 +518,28 @@ msgstr "설치되지 않음" msgid "Execution permissions missing" msgstr "실행 권한 누락" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "사용자 정의 열 번호 %(column)d이(가) calibre 데이터베이스에 없습니다" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "None" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "선택한 책 제목을 사용할 수 없습니다. 파일이 존재하지 않거나 액세스할 수 없습니다" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "식별자는 대소문자를 구분하지 않으며 이전 식별자를 덮어씁니다" @@ -553,84 +556,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "파일 %(file)s 업로드됨" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "변환을 위한 소스 또는 대상 형식이 누락되었습니다" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "책이 %(book_format)s(으)로 변환하기 위해 대기 중입니다" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "이 책을 변환하는 동안 오류가 발생했습니다: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "업로드한 책이 라이브러리에 있을 수 있음. 새로 업로드하기 전에 확인 필요: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s'은(는) 유효한 언어가 아닙니다" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "파일 확장자 '%(ext)s'은(는) 이 서버에 업로드할 수 없습니다" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "업로드할 파일에는 확장자가 있어야 합니다" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "파일 %(filename)s을(를) 임시 디렉토리에 저장할 수 없습니다" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "표지 파일%(file)s를 이동하지 못했습니다.:%(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "책 형식이 성공적으로 삭제되었습니다" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "책이 성공적으로 삭제되었습니다" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "메타데이터 편집" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s은(는) 유효한 숫자가 아닙니다. 건너뜁니다" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s 경로를 생성하지 못했습니다(권한이 없음)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s 파일을 저장하지 못했습니다." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "파일 형식 %(ext)s이(가) %(book)s에 추가되었습니다" @@ -643,186 +646,189 @@ msgstr "Google 드라이브 설정이 완료되지 않았습니다. Google 드 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "콜백 도메인이 확인되지 않았습니다. 단계에 따라 Google 개발자 콘솔에서 도메인을 확인하세요" -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "책 ID에 대한 %(format)s 형식을 찾을 수 없음: %(book)d" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s을(를) Google 드라이브에서 찾을 수 없음: %(fn)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s을(를) 찾을 수 없음: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "킨들로 보내기" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "이 이메일은 Calibre Web을 통해 전송되었습니다." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web 테스트 이메일" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "테스트 이메일" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Calibre-Web 시작하기" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "사용자 등록 이메일: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "%(orig)s를 %(format)s로 변환하고 킨들로 보내기" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "킨들에 %(format)s 보내기" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s을 킨들로 보내기" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "요청한 파일을 읽을 수 없습니다. 올바른 권한인가요?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "책 %(id)s에 대한 책 폴더를 삭제하지 못했습니다. 경로에 하위 폴더가 있습니다: %(path)s" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "%(id)s 도서 삭제 실패: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google 드라이브에서 %(file)s 파일을 찾을 수 없습니다" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google 드라이브에서 책 경로 %(path)s을(를) 찾을 수 없습니다" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "등록되어 있는 username입니다" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "이메일 주소 형식이 잘못되었습니다" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "표지 다운로드 중 오류 발생" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "표지 형식 오류" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "표지 경로 생성 실패" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "표지 파일이 유효한 이미지 파일이 아니거나 저장할 수 없습니다" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "표지는 jpg/jpeg/png/webp/bmp 파일만 지원됩니다" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "잘못된 표지 파일 콘텐츠" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "표지 파일로 jpg/jpeg 파일만 지원됩니다" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrar 바이너리 파일을 찾을 수 없습니다" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "UnRar 실행 오류" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "발견" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "코보(kobo) 장치에 대한 유효한 api_endpoint를 얻으려면 로컬 호스트가 아닌 곳에서 calibre-web에 액세스하십시오" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo 설정" @@ -831,7 +837,7 @@ msgstr "Kobo 설정" msgid "Register with %(provider)s" msgstr "%(provider)s에 등록" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "다음 사용자로 로그인했습니다: '%(nickname)s'" @@ -896,9 +902,9 @@ msgstr "Google 인증 오류: {}" msgid "{} Stars" msgstr "{} Stars" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "로그인" @@ -914,7 +920,7 @@ msgstr "토큰이 만료되었습니다" msgid "Success! Please return to your device" msgstr "성공! 기기로 돌아가주세요" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "책" @@ -939,7 +945,7 @@ msgstr "다운로드된 책" msgid "Show Downloaded Books" msgstr "다운로드된 책 보기" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "평점이 높은 책" @@ -948,7 +954,7 @@ msgid "Show Top Rated Books" msgstr "평점이 높은 책 보기" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "읽은 책" @@ -958,7 +964,7 @@ msgid "Show Read and Unread" msgstr "읽은 책과 읽지 않은 책 보기" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "읽지 않은 책" @@ -976,7 +982,7 @@ msgid "Show Random Books" msgstr "무작위 추천" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "카테고리" @@ -987,7 +993,7 @@ msgstr "카테고리별 보기" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "시리즈" @@ -1007,7 +1013,7 @@ msgid "Show Author Section" msgstr "저자별 보기" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "출판사" @@ -1018,7 +1024,7 @@ msgstr "출판사별 보기" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "언어" @@ -1045,7 +1051,7 @@ msgstr "파일 유형" msgid "Show File Formats Section" msgstr "파일 유형별 보기" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "보관된 책" @@ -1054,7 +1060,7 @@ msgstr "보관된 책" msgid "Show Archived Books" msgstr "보관된 책 보기" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "책 목록" @@ -1062,41 +1068,41 @@ msgstr "책 목록" msgid "Show Books List" msgstr "책 목록 보기" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "검색" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Published after " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Published before " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "평점 <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "평점 >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "읽은 상태 = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "사용자 정의 열을 검색하는 동안 오류가 발생했습니다. Calibre-Web을 다시 시작하십시오" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "상세 검색" @@ -1146,7 +1152,7 @@ msgstr "책이 책장에서 삭제됨: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "죄송합니다. 이 서가에서 책을 삭제할 권한이 없습니다" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "책장 추가" @@ -1172,73 +1178,73 @@ msgstr "책이 성공적으로 삭제되었습니다" msgid "Change order of Shelf: '%(name)s'" msgstr "책장 순서 변경: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "죄송합니다. 이 공개 책장을 만들 권한이 없습니다" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s 책장이 추가됨" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s 책장이 변경됨" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "오류가 발생하였습니다" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "이름이 '%(title)s'인 공개 책장이 이미 있습니다." -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "이름이 '%(title)s'인 개인 책장이 이미 있습니다." -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "책장: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "책장을 여는 동안 오류가 발생했습니다. 책장이 존재하지 않거나 접근할 수 없습니다" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "작업" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "대기중" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "실패" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "시작됨" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "종료" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "알 수 없는 상태" @@ -1271,145 +1277,173 @@ msgstr "최신 안정 버전 %(version)s으로 업데이트하려면 아래 버 msgid "No release information available" msgstr "출시 정보가 없습니다" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "발견(무작위 도서)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "인기있는 책(가장 많이 다운로드됨)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s이(가) 다운로드한 책" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "저자: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "출판사: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "시리즈: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "평가: %(rating)s 별" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "파일 유형: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "카테고리: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "언어: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "다운로드" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "평점 목록" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "파일 유형 목록" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "먼저 SMTP 메일 설정을 구성하십시오..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "성공적으로 %(eReadermail)s에 보내기 예약이 되었습니다" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "책을 보내는 중에 오류 발생: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Kindle로 보내는 유효한 이메일 주소로 프로필을 업데이트하십시오." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "이메일 서버가 구성되지 않았습니다. 관리자에게 문의하십시오!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "등록" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "이메일 서버가 구성되지 않았습니다. 관리자에게 문의하십시오!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "이메일을 등록할 수 없습니다" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "확인을 위한 이메일이 발송되었습니다." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "LDAP 인증을 활성화할 수 없습니다" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "다음 사용자로 로그인했습니다: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "대체 로그인: '%(nickname)s', LDAP 서버에 연결할 수 없음 또는 사용자를 알 수 없음" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "로그인 실패: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "잘못된 사용자명 또는 비밀번호" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "새 비밀번호가 이메일로 전송되었습니다" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "알 수없는 오류가 발생했습니다. 나중에 다시 시도 해주십시오." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "비밀번호를 재설정하려면 유효한 사용자 이름을 입력하십시오" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "다음 사용자로 로그인했습니다: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s 프로필" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "프로필이 업데이트 됨" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "등록되어 있는 이메일 주소입니다" @@ -1468,31 +1502,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "메타데이터 편집" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "업로드" @@ -1516,7 +1550,7 @@ msgstr "이메일 주소" msgid "Send to eReader Email" msgstr "킨들로 보내기 이메일 주소" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "관리자" @@ -1526,8 +1560,8 @@ msgstr "관리자" msgid "Password" msgstr "비밀번호" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "다운로드" @@ -1671,84 +1705,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "관리" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Debug Package 다운로드" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "로그 보기" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "재시작" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "종료" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "버전" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "세부 정보" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "현재 버전" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "업데이트 확인" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "업데이트 실행" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "재시작을 하시겠습니까?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "예" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "취소" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "종료를 하시겠습니까?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Встановлення оновлень, будь-ласка, не оновлюйте сторінку" @@ -1888,12 +1926,12 @@ msgid "Published Date" msgstr "출간일" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "출판사" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "언어" @@ -1921,8 +1959,8 @@ msgid "Fetch Metadata" msgstr "메타정보 가져오기" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1944,8 +1982,8 @@ msgstr "표지를 클릭하여 양식에 메타데이터 로드" msgid "Loading..." msgstr "불러오는 중..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "닫기" @@ -2376,6 +2414,52 @@ msgstr "Kepubify 전자책 변환기 경로" msgid "Location of Unrar binary" msgstr "Unrar 바이너리의 위치" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth 설정" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "사용자 비밀번호 초기화" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "환경 설정 보기" @@ -2388,7 +2472,7 @@ msgstr "랜덤 보기시 표시할 책 수" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "숨기기 전에 표시할 저자 수(0=숨기기 비활성화)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "테마" @@ -2477,64 +2561,64 @@ msgstr "허용/거부 태그 추가" msgid "Add Allowed/Denied custom column values" msgstr "허용/거부 사용자 정의 열 값 추가" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "부라우저에서 보기" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "브라우저에서 듣기" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "책 %(index)s의 %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "출간일" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "읽지 않은 상태로 표시" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "읽은 상태로 표시" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "읽기" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "아카이브에서 복원" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "아카이브에 추가" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "보관됨" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "설명:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "서재에 추가" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(공개)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "메타저오 편집" @@ -2607,7 +2691,7 @@ msgstr "도메인 입력" msgid "Denied Domains (Blacklist)" msgstr "거부 도메인(블랙리스트)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "다음" @@ -2726,7 +2810,7 @@ msgstr "평점별 정렬" msgid "Books ordered by file formats" msgstr "파일 종류별 정렬" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "서재" @@ -2743,52 +2827,52 @@ msgstr "홈" msgid "Toggle Navigation" msgstr "탐색 활성화" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "검색" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "계정" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "로그아웃" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "업로드 중..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "오류" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "업로드 완료, 처리 중입니다. 잠시만 기다려 주십시오..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "설정" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "페이지를 새로고침 하지 마세요" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "탐색" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "서재 정보" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "이전" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "책 상세정보" @@ -2912,11 +2996,11 @@ msgstr "Calibre-Web 책 목록" msgid "epub Reader" msgstr "epub 리더" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "밝게" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "어둡게" @@ -2941,111 +3025,124 @@ msgstr "" msgid "Comic Reader" msgstr "코믹 리더" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "키보드 단축키" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "이전 페이지" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "다음 페이지" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "최적 크기" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "폭 조절" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "높이 조절" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "기본 크기" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "오른쪽으로 회전" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "왼쪽으로 회전" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "이미지 뒤집기" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "관리자 페이지" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "크기" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "최적" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "폭" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "높이" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "기본" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "회전" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "뒤집기" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "수평" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "수직" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "방향" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "왼쪽에서 오른쪽" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "오른쪽에서 왼쪽" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "맨 위로 재설정" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "위치 기억" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "스크롤바" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "보기" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "숨기기" diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo index 3159f77fce45d9c25b6f51faccea3cefd2a8310a..48eef7f68ab9dfa7c95c56ec97a7c7f3d5ddcf8d 100644 GIT binary patch delta 10449 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 N)^xwpPP=aS{TGwHb(;VH delta 11302 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\n" "Language: nl\n" @@ -17,504 +17,507 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistieken" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "De server is herstart, vernieuw de pagina" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Bezig met het afsluiten van de server, sluit het venster" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Onbekende opdracht" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Onbekend" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Systeembeheer" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Basisconfiguratie" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Uiterlijk aanpassen" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Systeembeheerder" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Alles" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Gebruiker niet gevonden" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} gebruikers succesvol verwijderd" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Alle talen" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Misvormd verzoek" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Gast naam kan niet worden veranderd" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Gast kan deze rol niet hebben" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Waarde moet Waar of Onwaar zijn" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Ongeldige rol" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Gast kan dit niet bekijken" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Ongeldige waarde" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gasts locale is automatisch bepaald en kan niet handmatig worden ingesteld" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Geen geldige locale is opgegeven" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Geen geldige boek taal is opgegeven" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parameter is niet gevonden" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Ongeldige gelezen kolom" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Ongeldige beperkte kolom" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-configuratie bijgewerkt" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Wil je je Kobo Token echt verwijderen?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Wil je dit domein echt verwijderen?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Wil je deze gebruiker echt verwijderen?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Weet je zeker dat je de locales van de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Weet je zeker dat je de zichtbare talen voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde rol van de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde beperkingen voor de geselecteerde gebruikers(s) wil verwijderen?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde zichtbaarheidsbeperkingen voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Weet je zeker dat je de synchronisatiegedrag van boekenplanken voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Weet je zeker dat je de locatie van de Calibre-bibliotheek wil veranderen?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Weigeren" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Toestaan" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Tag niet gevonden" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Ongeldige actie" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json is niet geconfigureerd voor webapplicatie" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "De locatie van het logbestand is onjuist, voer een geldige locatie in" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "De locatie vam het toegangslog is onjuist, voer een geldige locatie in" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Voer alsjeblieft een LDAP Provider, Port, DN en User Object Identifier in" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Voer een geldig LDAP Service Account en wachtwoord in" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Voer een LDAP Service Account in" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Groep Object Filter Moet Een \"%s\" Formaat Identificiatie hebben" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP Groep Object Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Gebruiker Object Filter moet \"%s\" Formaat Identificatie hebben" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP Gebruiker Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Lid Gebruiker Filter moet een \"%s\" Formaat Identificatie hebben" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP Lid Gebruiker Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACertficaat, Certificaat of Sleutel Locatie is ongeldig. Voer alsjeblieft een geldig pad in." -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Gebruiker toevoegen" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP-instellingen bewerken" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Database fout: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test E-Mail wordt verzonden naar %(email)s, controleer de taken voor het resultaat" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Fout opgetreden bij het versturen van de test-e-mail: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Gelieve eerst je e-mail adres configureren..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "E-mailserver-instellingen bijgewerkt" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Onbekende fout opgetreden. Probeer het later nog eens." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Gebruiker '%(nick)s' bewerken" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Wachtwoord voor gebruiker %(user)s is hersteld" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Stel eerst SMTP-mail in..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Logbestand lezer" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Update opvragen" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Update downloaden" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Update uitpakken" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Update toepassen" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Databaseverbindingen zijn gesloten" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Bezig met stoppen van Calibre-Web" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Update mislukt:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP-fout" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Verbindingsfout" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Time-out tijdens maken van verbinding" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Algemene fout" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Geüpload bestand kon niet opgeslagen worden in de tijdelijke map" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Mislukt om minstens een LDAP gebruiker aan te maken" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Het is niet gelukt tenminste een LDAP gebruiker aan te maken" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fout: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Fout: No user returned in response of LDAP server" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Minstens een LDAP Gebruiker is niet gevonden in de Database" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Gebruiker succesvol geïmporteerd" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Database niet gevonden, voer de juiste locatie in" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Kan niet schrijven naar database" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-sleutellocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-certificaatlocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "E-mailserver-instellingen bijgewerkt" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Databaseconfiguratie" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Vul alle velden in!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Het e-mailadres bevat geen geldige domeinnaam" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Gebruiker toevoegen" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Gebruiker '%(user)s' aangemaakt" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Gebruiker '%(nick)s' verwijderd" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Kan Gast gebruiker niet verwijderen" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Kan laatste systeembeheerder niet verwijderen" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' bijgewerkt" @@ -527,28 +530,28 @@ msgstr "niet geïnstalleerd" msgid "Execution permissions missing" msgstr "Kan programma niet uitvoeren" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Geen" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren" @@ -565,84 +568,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Bestand %(file)s geüpload" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Bron- of doelformaat ontbreekt voor conversie" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s is geen geldige taal" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Het te uploaden bestand moet voorzien zijn van een extensie" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Omslag %(file)s niet verplaatst: %(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Het boekformaat is verwijderd" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Het boek is verwijderd" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "metagegevens bewerken" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s is geen geldig nummer, sla het over" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Kan %(file)s niet opslaan." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s" @@ -655,186 +658,189 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s niet gevonden %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Versturen naar Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Deze e-mail is verstuurd via Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web - test-e-mail" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Test-e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Aan de slag met Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registratie-e-mailadres van gebruiker: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s versturen naar Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s verzonden naar Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Verwijderen van boek %(id)s mislukt: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Deze gebruikersnaam is al in gebruik" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Ongeldig E-Mail adres" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Fout bij downloaden omslag" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Onjuist omslagformaat" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Locatie aanmaken voor omslag mislukt" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrar executable niet gevonden" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Fout bij het uitvoeren van Unrar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Willekeurige boeken" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Je kunt Calibre-Web niet vanaf de lokale computer openen om een geldige api_endpoint te krijgen voor je kobo toestel" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo Instellen" @@ -843,7 +849,7 @@ msgstr "Kobo Instellen" msgid "Register with %(provider)s" msgstr "Aanmelden bij %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "je bent ingelogd als: '%(nickname)s'" @@ -908,9 +914,9 @@ msgstr "Google OAuth foutmelding: {}" msgid "{} Stars" msgstr "{} sterren" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Inloggen" @@ -926,7 +932,7 @@ msgstr "Toegangssleutel is verlopen" msgid "Success! Please return to your device" msgstr "Gelukt! Ga terug naar je apparaat" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Boeken" @@ -951,7 +957,7 @@ msgstr "Gedownloade boeken" msgid "Show Downloaded Books" msgstr "Gedownloade boeken tonen" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Best beoordeelde boeken" @@ -960,7 +966,7 @@ msgid "Show Top Rated Books" msgstr "Best beoordeelde boeken tonen" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Gelezen boeken" @@ -970,7 +976,7 @@ msgid "Show Read and Unread" msgstr "Gelezen/Ongelezen boeken tonen" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Ongelezen boeken" @@ -988,7 +994,7 @@ msgid "Show Random Books" msgstr "Willekeurige boeken tonen" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Categorieën" @@ -999,7 +1005,7 @@ msgstr "Categoriekeuze tonen" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Boekenreeksen" @@ -1019,7 +1025,7 @@ msgid "Show Author Section" msgstr "Auteurkeuze tonen" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Uitgevers" @@ -1030,7 +1036,7 @@ msgstr "Uitgeverskeuze tonen" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Talen" @@ -1057,7 +1063,7 @@ msgstr "Bestandsformaten" msgid "Show File Formats Section" msgstr "Bestandsformaten tonen" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Gearchiveerde boeken" @@ -1066,7 +1072,7 @@ msgstr "Gearchiveerde boeken" msgid "Show Archived Books" msgstr "Gearchiveerde boeken tonen" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Boekenlijst" @@ -1074,41 +1080,41 @@ msgstr "Boekenlijst" msgid "Show Books List" msgstr "Boekenlijst tonen" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Zoeken" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Gepubliceerd na " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Gepubliceerd vóór " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Beoordeling <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Beoordeling >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Lees Status = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Fout tijdens het zoeken van aangepaste kolommen, start Calibre-Web opnieuw op" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Geavanceerd zoeken" @@ -1159,7 +1165,7 @@ msgstr "Het boek is verwijderd van boekenplank: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Boekenplank maken" @@ -1186,73 +1192,73 @@ msgstr "Het boek is verwijderd" msgid "Change order of Shelf: '%(name)s'" msgstr "Volgorde van boekenplank veranderen: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Boekenplank '%(title)s' aangemaakt" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Boekenplank '%(title)s' is aangepast" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Er is een fout opgetreden" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Boekenplank: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Kan boekenplank niet openen: de boekenplank bestaat niet of is ontoegankelijk" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Taken" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Wachten" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Mislukt" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Gestart" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Voltooid" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Onbekende status" @@ -1285,145 +1291,173 @@ msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten na msgid "No release information available" msgstr "Geen update-informatie beschikbaar" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Verkennen (willekeurige boeken)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Populaire boeken (meest gedownload)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Gedownloade boeken door %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Auteur: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Uitgever: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Reeks: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Beoordeling: %(rating)s sterren" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Bestandsformaat: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Categorie: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Taal: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Beoordelingen" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Alle bestandsformaten" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Stel eerst SMTP-mail in..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Fout opgetreden bij het versturen van dit boek: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Stel je kindle-e-mailadres in..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "E-mailserver is niet geconfigureerd, neem contact op met de beheerder!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registreren" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "E-mailserver is niet geconfigureerd, neem contact op met de beheerder!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Er is een bevestigings-e-mail verstuurd naar je e-mailadres." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Kan de LDAP authenticatie niet activeren" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "je bent ingelogd als: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Terugvallen op login: '%(nickname)s', LDAP Server is onbereikbaar, of de gebruiker is onbekend" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Inloggen mislukt: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Verkeerde gebruikersnaam of wachtwoord" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Onbekende fout opgetreden. Probeer het later nog eens." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "je bent ingelogd als: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)ss profiel" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profiel bijgewerkt" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Bestaand account met dit e-mailadres aangetroffen." @@ -1483,31 +1517,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "metagegevens bewerken" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Uploaden" @@ -1531,7 +1565,7 @@ msgstr "E-mailadres" msgid "Send to eReader Email" msgstr "Kindle-e-mailadres" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Beheer" @@ -1541,8 +1575,8 @@ msgstr "Beheer" msgid "Password" msgstr "Wachtwoord" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Downloaden" @@ -1687,84 +1721,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Systeembeheer" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Download foutopsporingspakket" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Logboeken bekijken" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Calibre-Web herstarten" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Calibre-Web stoppen" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versie" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Details" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Huidige versie" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Controleren op updates" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Update uitvoeren" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Weet je zeker dat je Calibre-Web wilt herstarten?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Oké" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Annuleren" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Weet je zeker dat je Calibre-Web wilt stoppen?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Bezig met bijwerken, vernieuw de pagina niet" @@ -1904,12 +1942,12 @@ msgid "Published Date" msgstr "Publicatiedatum" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Uitgever" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Taal" @@ -1937,8 +1975,8 @@ msgid "Fetch Metadata" msgstr "Metagegevens ophalen" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1961,8 +1999,8 @@ msgstr "Klik op de omslag om de metagegevens in het formulier te laden" msgid "Loading..." msgstr "Bezig met laden..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Sluiten" @@ -2396,6 +2434,52 @@ msgstr "Pad naar Kepubify E-book Converteerder" msgid "Location of Unrar binary" msgstr "Locatie van Unrar-programma" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth Instellingen" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Gebruikerswachtwoord herstellen" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Instellingen bekijken" @@ -2408,7 +2492,7 @@ msgstr "Aantal te tonen willekeurige boeken" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Aantal te tonen auteurs alvorens te verbergen (0=nooit verbergen)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Thema" @@ -2499,64 +2583,64 @@ msgstr "Voeg toegestane/geweigerde tags toe" msgid "Add Allowed/Denied custom column values" msgstr "Voeg toegestane/geweigerde aangepaste kolomwaarden toe" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Lezen in webbrowser" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Luisteren in webbrowser" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "Boek %(index)s van %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Gepubliceerd" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Markeren als ongelezen" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Markeren als gelezen" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Gelezen" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Terughalen uit archief" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Toevoegen aan archief" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Gearchiveerd" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Beschrijving:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Toevoegen aan boekenplank" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Openbaar)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Metagegevens bewerken" @@ -2629,7 +2713,7 @@ msgstr "Voer domeinnaam in" msgid "Denied Domains (Blacklist)" msgstr "Geweigerde domeinen voor registratie" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Volgende" @@ -2749,7 +2833,7 @@ msgstr "Boeken gesorteerd op beoordeling" msgid "Books ordered by file formats" msgstr "Boeken gesorteerd op bestandsformaat" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Boekenplanken" @@ -2766,52 +2850,52 @@ msgstr "Startpagina" msgid "Toggle Navigation" msgstr "Navigatie aanpassen" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Zoek in bibliotheek" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Account" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Afmelden" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Bezig met uploaden..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Fout" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Uploaden voltooid, bezig met verwerken..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Instellingen" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Deze pagina niet vernieuwen" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Verkennen" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Informatie" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Vorige" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Boekgegevens" @@ -2937,11 +3021,11 @@ msgstr "Calibre-Web - e-boekcatalogus" msgid "epub Reader" msgstr "PDF lezer" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Licht" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Donker" @@ -2967,111 +3051,124 @@ msgstr "" msgid "Comic Reader" msgstr "Comic Reader" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Sneltoetsen" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Vorige pagina" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Volgende pagina" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Optimaal inpassen" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Aanpassen aan breedte" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Aanpassen aan hoogte" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Ware grootte" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Rechtsom draaien" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Linksom draaien" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Afbeelding omdraaien" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Systeembeheer" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Schaal" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Beste" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Breedte" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Hoogte" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Ware grootte" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Draaien" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Omdraaien" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontaal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Verticaal" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Richting" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Links-naar-rechts" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Rechts-naar-links" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Terugzetten naar bovenkant" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Positie onthouden" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Schuifbalk" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Toon" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Verberg" diff --git a/cps/translations/no/LC_MESSAGES/messages.mo b/cps/translations/no/LC_MESSAGES/messages.mo index 673826804dc0920be656ed00c5632f622e7e6f94..5be68b320aa859f03d5103c305d4e1a2bfb0b5fe 100644 GIT binary patch delta 37 tcmex8lj-+NrVTkkye7JaW(tO;RtBcp21c7JgJc<*4fPB*&kRno1OV|83yJ^$ delta 37 tcmex8lj-+NrVTkkyhgePW(tOuRt5&z28Np}gJc<*4fKpR&kRno1OV{33x@yz diff --git a/cps/translations/no/LC_MESSAGES/messages.po b/cps/translations/no/LC_MESSAGES/messages.po index 83764791..3a21bb5b 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2023-01-06 11:00+0000\n" "Last-Translator: Vegard Fladby \n" "Language: no\n" @@ -16,500 +16,503 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistikk" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Server startet på nytt. Last inn siden på nytt" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Utfører avslutning av server, vennligst lukk vinduet" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Ukjent kommando" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Bøker ble satt i kø for sikkerhetskopiering av metadata" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Ukjent" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Admin side" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Grunnleggende konfigurasjon" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "UI-konfigurasjon" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Rediger brukere" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Alle" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Bruker ikke funnet" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} brukere ble slettet" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Vis alt" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Feil utformet forespørsel" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Gjestenavn kan ikke endres" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Gjesten kan ikke ha denne rollen" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratorbruker igjen, kan ikke fjerne administratorrollen" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Verdien må være sann eller usann" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Ugyldig rolle" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Gjestene kan ikke ha denne utsikten" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Ugyldig visning" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gjestenes lokalitet bestemmes automatisk og kan ikke angis" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Ingen gyldig lokalitet gitt" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Ikke oppgitt gyldig bokspråk" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parameter ikke funnet" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Ugyldig lesekolonne" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Ugyldig begrenset kolonne" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-konfigurasjonen er oppdatert" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Vil du virkelig slette Kobo-tokenet?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Vil du virkelig slette dette domenet?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Vil du virkelig slette denne brukeren?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Er du sikker på at du vil slette denne hyllen?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Er du sikker på at du vil endre lokaliteter for valgte bruker(e)?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Er du sikker på at du vil endre synlige bokspråk for valgte bruker(e)?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Er du sikker på at du vil endre den valgte rollen for den(e) valgte brukeren?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Er du sikker på at du vil endre de valgte begrensningene for den(e) valgte brukeren?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Er du sikker på at du vil endre de valgte synlighetsbegrensningene for valgte bruker(e)?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Er du sikker på at du vil endre atferden for hyllesynkronisering for de(n) valgte brukeren(e)?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Er du sikker på at du vil endre plassering av Caliber-biblioteket?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web vil søke etter oppdaterte omslag og oppdatere omslagsminiatyrbilder, kan dette ta litt tid?" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Er du sikker på at du vil slette Calibre-Webs synkroniseringsdatabase for å tvinge frem en full synkronisering med Kobo Reader?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Benekte" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Tillate" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} synkroniseringsoppføringer slettet" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Merket ble ikke funnet" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Ugyldig handling" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json er ikke konfigurert for webapplikasjon" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Loggfilplasseringen er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Plasseringen av tilgangsloggfilen er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Angi en LDAP-leverandør, port, DN og brukerobjektidentifikator" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Vennligst skriv inn en LDAP-tjenestekonto og passord" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Angi en LDAP-tjenestekonto" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP-gruppeobjektfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP-gruppeobjektfilter har uovertruffen parentes" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-brukerobjektfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP-brukerobjektfilter har uovertruffen parentes" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-medlemsbrukerfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP-medlemsbrukerfilter har uovertruffen parentes" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA-sertifikat, sertifikat eller nøkkelplassering er ikke gyldig. Angi riktig bane" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Legg til ny bruker" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 #, fuzzy msgid "Edit Email Server Settings" msgstr "Rediger e-postserverinnstillinger" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, fuzzy, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasefeil: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test e-post i kø for sending til %(email)s, sjekk Oppgaver for resultat" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Det oppsto en feil ved sending av test-e-posten: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Vennligst konfigurer e-postadressen din først..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 #, fuzzy msgid "Email Server Settings updated" msgstr "E-postserverinnstillinger oppdatert" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Rediger innstillinger for planlagte oppgaver" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Ugyldig starttidspunkt for spesifisert oppgave" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Ugyldig varighet for spesifisert oppgave" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Innstillinger for planlagte oppgaver er oppdatert" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 #, fuzzy msgid "Oops! An unknown error occurred. Please try again later." msgstr "En ukjent feil oppstod. Prøv igjen senere." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "Innstillinger DB er ikke skrivbar" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Rediger bruker %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Passord for bruker %(user)s tilbakestilling" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Vennligst konfigurer SMTP-postinnstillingene først..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Loggfilviser" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Ber om oppdateringspakke" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Laster ned oppdateringspakken" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Pakker ut oppdateringspakken" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Erstatter filer" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Databaseforbindelser er stengt" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Stopper server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Oppdatering fullført, vennligst trykk OK og last inn siden på nytt" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Oppdatering mislyktes:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP-feil" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tidsavbrudd under etablering av tilkobling" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Generell feil" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "Oppdateringsfilen kunne ikke lagres i temp dir" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Filer kunne ikke erstattes under oppdatering" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Kunne ikke pakke ut minst én LDAP-bruker" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Kunne ikke opprette minst én LDAP-bruker" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Feil: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Feil: Ingen bruker ble returnert som svar fra LDAP-serveren" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Minst én LDAP-bruker ikke funnet i databasen" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Bruker ble importert" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB-plassering er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "DB er ikke skrivbar" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Nøkkelfilplasseringen er ikke gyldig. Angi riktig bane" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Sertifikatfilplasseringen er ikke gyldig, vennligst skriv inn riktig bane" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Databaseinnstillinger oppdatert" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Databasekonfigurasjon" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 #, fuzzy msgid "Oops! Please complete all fields." msgstr "Vennligst fyll ut alle feltene!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-post er ikke fra gyldig domene" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Legg til ny bruker" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Bruker '%(user)s' opprettet" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Brukeren '%(nick)s' slettet" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Kan ikke slette gjestebruker" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Ingen administratorbruker igjen, kan ikke slette bruker" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 #, 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:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Bruker '%(nick)s' oppdatert" @@ -522,29 +525,29 @@ msgstr "ikke installert" msgid "Execution permissions missing" msgstr "Utførelsestillatelser mangler" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ingen" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 #, 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "Brukeren har ingen rettigheter til å laste opp cover" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikatorer skiller ikke mellom store og små bokstaver, overskriver gammel identifikator" @@ -561,84 +564,84 @@ msgstr "Feil ved redigering av bok: {}" msgid "File %(file)s uploaded" msgstr "Fil %(file)s lastet opp" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Kilde- eller målformat for konvertering mangler" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' er ikke et gyldig språk" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Filen som skal lastes opp må ha en utvidelse" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Kunne ikke flytte omslagsfil %(file)s: %(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Bokformatet er slettet" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Boken ble slettet" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Du mangler tillatelser til å slette bøker" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "redigere metadata" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s er ikke et gyldig tall, hopper over" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "Brukeren har ingen rettigheter til å laste opp flere filformater" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kunne ikke opprette banen %(path)s (Tillatelse nektet)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Kunne ikke lagre filen %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformat %(ext)s lagt til %(book)s" @@ -651,184 +654,187 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ikke funnet: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Send til E-Reader" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Denne e-posten er sendt via Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-post" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Test e-post" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Kom i gang med Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrerings-e-post for bruker: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Send %(format)s til E-Reader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s sendes til E-Reader" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Den forespurte filen kunne ikke leses. Kanskje feil tillatelser?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "Lesestatus kunne ikke angis: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Sletting av bok %(id)s mislyktes: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fil %(file)s ikke funnet på Google Disk" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Feil i endre navn på fil i banen: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Finner ikke bokbane %(path)s på Google Disk" -#: cps/helper.py:644 +#: cps/helper.py:665 #, fuzzy msgid "Found an existing account for this Email address" msgstr "Fant en eksisterende konto for denne e-postadressen" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Dette brukernavnet er allerede tatt" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Ugyldig format for e-postadresse" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Feil ved nedlasting av cover" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Omslagsformatfeil" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Kunne ikke opprette bane for dekning" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Ugyldig omslagsfilinnhold" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Bare jpg/jpeg-filer støttes som coverfile" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrar binær fil ikke funnet" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "Feil ved kjøring av UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 msgid "Cover" msgstr "Dekke" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Sett alle bøker i kø for sikkerhetskopiering av metadata" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Gå til Calibre-Web fra ikke-lokale vert for å få gyldig api_endpoint for kobo-enhet" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo oppsett" @@ -837,7 +843,7 @@ msgstr "Kobo oppsett" msgid "Register with %(provider)s" msgstr "Registrer deg hos %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, fuzzy, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "du er nå logget på som: '%(nickname)s'" @@ -902,9 +908,9 @@ msgstr "Google Oauth-feil: {}" msgid "{} Stars" msgstr "{} Stjerner" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Logg Inn" @@ -920,7 +926,7 @@ msgstr "Token har utløpt" msgid "Success! Please return to your device" msgstr "Suksess! Gå tilbake til enheten din" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Bøker" @@ -945,7 +951,7 @@ msgstr "Nedlastede bøker" msgid "Show Downloaded Books" msgstr "Vis nedlastede bøker" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Topprangerte bøker" @@ -954,7 +960,7 @@ msgid "Show Top Rated Books" msgstr "Vis best rangerte bøker" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Lese bøker" @@ -964,7 +970,7 @@ msgid "Show Read and Unread" msgstr "Vis lest og ulest" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Uleste bøker" @@ -982,7 +988,7 @@ msgid "Show Random Books" msgstr "Vis tilfeldige bøker" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategorier" @@ -993,7 +999,7 @@ msgstr "Vis kategorivalg" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Serie" @@ -1013,7 +1019,7 @@ msgid "Show Author Section" msgstr "Vis forfattervalg" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Forlag" @@ -1024,7 +1030,7 @@ msgstr "Vis utgivervalg" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Språk" @@ -1051,7 +1057,7 @@ msgstr "Filformater" msgid "Show File Formats Section" msgstr "Vis valg av filformater" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Arkiverte bøker" @@ -1060,7 +1066,7 @@ msgstr "Arkiverte bøker" msgid "Show Archived Books" msgstr "Vis arkiverte bøker" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Bøker Liste" @@ -1068,41 +1074,41 @@ msgstr "Bøker Liste" msgid "Show Books List" msgstr "Vis bokliste" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Søk" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publisert etter " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publisert før " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Vurdering <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Vurdering >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Lesestatus = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Feil ved søk etter egendefinerte kolonner. Start Calibre-Web på nytt" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Avansert søk" @@ -1152,7 +1158,7 @@ msgstr "Boken er fjernet fra hyllen: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Lag en hylle" @@ -1177,73 +1183,73 @@ msgstr "Hylle slettet" msgid "Change order of Shelf: '%(name)s'" msgstr "Endre rekkefølgen på hylle: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Hylle %(title)s opprettet" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Hylle %(title)s endret" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "det var en feil" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylle: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Oppgaver" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Venter" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Mislyktes" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Startet" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Ferdig" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Endte" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "avbrutt" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Ukjent status" @@ -1276,152 +1282,175 @@ msgstr "En ny oppdatering er tilgjengelig. Klikk på knappen nedenfor for å opp msgid "No release information available" msgstr "Ingen utgivelsesinformasjon tilgjengelig" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Discover (tilfeldige bøker)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Hot Books (mest nedlastede)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Lastet ned bøker av %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Forfatter: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Utgiver: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Vurdering: Ingen" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Rangering: %(rating)s stjerner" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Filformat: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Språk: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Nedlastinger" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Rangeringsliste" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Liste over filformater" -#: cps/web.py:1202 +#: cps/web.py:1217 #, fuzzy -msgid "Please configure the SMTP mail settings first." +msgid "Please configure the SMTP mail settings first..." msgstr "Vennligst konfigurer SMTP-postinnstillingene først..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, fuzzy, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Boken ble satt i kø for sending til %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, fuzzy, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Oops! Det oppsto en feil ved sending av denne boken: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Vennligst oppdater profilen din med en gyldig Send til Kindle-e-postadresse." -#: cps/web.py:1230 -#, fuzzy -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "E-postserveren er ikke konfigurert, kontakt administratoren din!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registrere" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +#, fuzzy +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "E-postserveren er ikke konfigurert, kontakt administratoren din!" + +#: cps/web.py:1283 #, fuzzy msgid "Oops! Your Email is not allowed." msgstr "Din e-post kan ikke registreres" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1284 +#: cps/web.py:1332 cps/web.py:1350 #, fuzzy -msgid "Oops! Cannot activate LDAP authentication" +msgid "Cannot activate LDAP authentication" msgstr "Kan ikke aktivere LDAP-autentisering" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "du er nå logget på som: '%(nickname)s'" + +#: cps/web.py:1367 #, fuzzy, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Reservepålogging som: '%(nickname)s', LDAP-serveren er ikke tilgjengelig, eller brukeren er ukjent" -#: cps/web.py:1309 +#: cps/web.py:1372 #, fuzzy, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "Kunne ikke logge på: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 +#: cps/web.py:1376 cps/web.py:1401 #, fuzzy -msgid "Oops! Invalid Username or Password." +msgid "Wrong Username or Password" msgstr "Vennligst skriv inn gyldig brukernavn for å tilbakestille passordet" -#: cps/web.py:1320 +#: cps/web.py:1383 #, fuzzy -msgid "Success! New Password was sent to your Email." +msgid "New Password was send to your email address" msgstr "Nytt passord ble sendt til e-postadressen din" -#: cps/web.py:1326 +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "En ukjent feil oppstod. Prøv igjen senere." + +#: cps/web.py:1389 #, fuzzy -msgid "Oops! Please enter a valid username to reset password" +msgid "Please enter valid username to reset password" msgstr "Vennligst skriv inn gyldig brukernavn for å tilbakestille passordet" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "du er nå logget på som: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, fuzzy, python-format msgid "%(name)s's Profile" msgstr "%(name)s sin profil" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profil oppdatert" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "" @@ -1480,30 +1509,30 @@ msgstr "Kobler til Caliber-databasen på nytt" msgid "E-mail" msgstr "E-post" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "Sikkerhetskopierer metadata" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "Genererte %(count)s forsideminiatyrbilder" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Forsideminiatyrbilder" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "Genererte {0} serieminiatyrbilder" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Tømmer cache for miniatyrbilde for omslag" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Laste opp" @@ -1528,7 +1557,7 @@ msgstr "E-post" msgid "Send to eReader Email" msgstr "Send til E-Reader E-postadresse" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1538,8 +1567,8 @@ msgstr "Admin" msgid "Password" msgstr "Passord" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "nedlasting" @@ -1687,86 +1716,90 @@ msgstr "Generer miniatyrbilder av bokomslag" msgid "Generate series cover thumbnails" msgstr "Generer serieomslagsminiatyrbilder" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Koble til Caliber-databasen på nytt" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 #, fuzzy msgid "Refresh Thumbnail Cache" msgstr "Oppdater thumbnail cover Cache" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administrasjon" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Last ned feilsøkingspakken" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Vis logger" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Omstart" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Skru av" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Versjonsinformasjon" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versjon" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detaljer" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 #, fuzzy msgid "Current Version" msgstr "Gjeldende versjon" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Se etter oppdatering" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Utfør oppdatering" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Er du sikker på at du vil starte på nytt?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Avbryt" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Er du sikker på at du vil slå av?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Oppdaterer, vennligst ikke last inn denne siden på nytt" @@ -1906,12 +1939,12 @@ msgid "Published Date" msgstr "Publiseringsdato" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Forlegger" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Språk" @@ -1939,8 +1972,8 @@ msgid "Fetch Metadata" msgstr "Hent metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1962,8 +1995,8 @@ msgstr "Klikk på omslaget for å laste metadata til skjemaet" msgid "Loading..." msgstr "Laster inn..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Lukk" @@ -2397,6 +2430,51 @@ msgstr "" msgid "Location of Unrar binary" msgstr "" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Vis forfattervalg" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +msgid "User Password policy" +msgstr "" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 #, fuzzy msgid "View Configuration" @@ -2410,7 +2488,7 @@ msgstr "" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "" @@ -2503,69 +2581,69 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "Sletting av bok %(index)s mislyktes: %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 #, fuzzy msgid "Published" msgstr "Forlegger" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 #, fuzzy msgid "Read" msgstr "redusere" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 #, fuzzy msgid "Archived" msgstr "Arkiverte bøker" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 #, fuzzy msgid "Description:" msgstr "Beskrivelse" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 #, fuzzy msgid "Add to shelf" msgstr "Rediger en hylle" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 #, fuzzy msgid "Edit Metadata" msgstr "redigere metadata" @@ -2639,7 +2717,7 @@ msgstr "Skriv inn kommentarer" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "" @@ -2764,7 +2842,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2782,56 +2860,56 @@ msgstr "" msgid "Toggle Navigation" msgstr "Loggfilkonfigurasjon" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 #, fuzzy msgid "Uploading..." msgstr "Laster inn..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 #, fuzzy msgid "Error" msgstr "Serverport" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 #, fuzzy msgid "Settings" msgstr "Vurderinger" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 #, fuzzy msgid "Please do not refresh the page" msgstr "Oppdaterer, vennligst ikke last inn denne siden på nytt" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 #, fuzzy msgid "Book Details" msgstr "Detaljer" @@ -2960,12 +3038,12 @@ msgstr "" msgid "epub Reader" msgstr "" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 #, fuzzy msgid "Light" msgstr "Nattlig" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "" @@ -2989,116 +3067,129 @@ msgstr "" msgid "Comic Reader" msgstr "" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 #, fuzzy msgid "Next Page" msgstr "Admin side" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 -msgid "Scale to Best" +msgid "Long Strip Display" msgstr "" #: cps/templates/readcbr.html:98 -msgid "Scale to Width" +msgid "Scale to Best" msgstr "" #: cps/templates/readcbr.html:99 -msgid "Scale to Height" +msgid "Scale to Width" msgstr "" #: cps/templates/readcbr.html:100 -msgid "Scale to Native" +msgid "Scale to Height" msgstr "" #: cps/templates/readcbr.html:101 -msgid "Rotate Right" +msgid "Scale to Native" msgstr "" #: cps/templates/readcbr.html:102 -msgid "Rotate Left" +msgid "Rotate Right" msgstr "" #: cps/templates/readcbr.html:103 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Admin side" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 #, fuzzy msgid "Height" msgstr "Nattlig" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 #, fuzzy msgid "Native" msgstr "Lagre" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 #, fuzzy msgid "Rotate" msgstr "Startet" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 #, fuzzy msgid "Direction" msgstr "Administrasjon" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo index 2aadf924539081953b5c9de8a338910aa0721038..fce7dd0653fd1a5fe9e75b1e68bb22138a9ded57 100644 GIT binary patch delta 10434 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 OrR^&Nyjyl(4fsC@sf|$p delta 11275 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\n" "Language: pl\n" @@ -17,505 +17,508 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statystyki" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Nieznane polecenie" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Książka została umieszczona w kolejce do wysłania do %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Nieznany" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Panel administratora" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Konfiguracja podstawowa" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Konfiguracja Interfejsu" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Edytuj użytkowników" # ??? -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Wszystko" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Nie znaleziono użytkownika" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} użytkowników usuniętych pomyślnie" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Pokaż wszystkie" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Nieprawidłowo sformułowane żądanie" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Nazwa gościa nie może być zmieniona" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Gość nie może pełnić tej roli" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 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" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Wartość musi być prawdziwa lub fałszywa" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Nieprawidłowa rola" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Gość nie może tego zobaczyć" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Nieprawidłowy widok" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Lokalizacja gościa jest określana automatycznie i nie można jej ustawić" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Nie podano prawidłowej lokalizacji" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Nie podano obowiązującego języka książki" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Nie znaleziono parametru" -#: cps/admin.py:565 +#: cps/admin.py:567 #, fuzzy msgid "Invalid Read Column" msgstr "Nieprawidłowa kolumna odczytu" -#: cps/admin.py:571 +#: cps/admin.py:573 #, fuzzy msgid "Invalid Restricted Column" msgstr "Nieprawidłowa kolumna z ograniczeniami" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Konfiguracja Calibre-Web została zaktualizowana" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Czy na pewno chcesz usunąć Token Kobo?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Czy naprawdę chcesz usunąć tę domenę?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Czy naprawdę chcesz usunąć tego użytkownika?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Czy na pewno chcesz usunąć półkę?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Czy na pewno chcesz zmienić ustawienia lokalne wybranego użytkownika(ów)?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Czy na pewno chcesz zmienić widoczne języki książek dla wybranego użytkownika (użytkowników)?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybraną rolę dla wybranego użytkownika (użytkowników)?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia dla wybranego użytkownika(ów)?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia widoczności dla wybranego użytkownika(ów)?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić zachowanie synchronizacji półek dla wybranego użytkownika(ów)?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Czy na pewno chcesz zmienić lokalizację biblioteki Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Zabroń" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Zezwalaj" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 #, fuzzy msgid "Tag not found" msgstr "Nie znaleziono znacznika" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Nieprawidłowe działanie" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json nie został skonfigurowany dla aplikacji webowej" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku dziennika jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku dziennika dostępu jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Wprowadź dostawcę LDAP, port, nazwę wyróżniającą i identyfikator obiektu użytkownika" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Proszę wprowadzić konto i hasło usługi LDAP" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Proszę wprowadzić konto usługi LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filtr obiektów grupy LDAP musi mieć jeden identyfikator formatu \"% s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtr obiektów grupy LDAP ma niedopasowany nawias" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr obiektów użytkownika LDAP musi mieć jeden identyfikator formatu \"% s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtr obiektów użytkownika LDAP ma niedopasowany nawias" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr użytkownika członka LDAP musi mieć jedno \"%s\" identyfikator formatu" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filtr użytkownika członka LDAP ma niedopasowane nawiasy" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Główny urząd certyfikatu LDAP, Certyfikat lub Lokalizacja Klucza nie jest prawidłowa, Proszę wprowadzić poprawną ścieżkę" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Zmień ustawienia SMTP" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Błąd bazy danych: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, fuzzy, python-format msgid "Test e-mail queued for sending to %(email)s, 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:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Wystąpił błąd podczas wysyłania e-maila testowego: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Najpierw skonfiguruj swój adres e-mail..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Zaktualizowano ustawienia serwera poczty e-mail" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Edytuj użytkownika %(nick)s" # ??? -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Zrestartowano hasło użytkownika %(user)s" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Przeglądanie dziennika" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Żądanie o pakiet aktualizacji" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Pobieranie pakietu aktualizacji" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Rozpakowywanie pakietu aktualizacji" # ??? -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Zastępowanie plików" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Połączenia z bazą danych zostały zakończone" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Zatrzymywanie serwera" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Aktualizacja nieudana:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Błąd HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Błąd połączenia" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Przekroczono limit czasu podczas nawiązywania połączenia" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Błąd ogólny" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Plik aktualizacji nie mógł zostać zapisany w katalogu tymczasowym" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Błąd: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Przynajmniej jeden użytkownik LDAP nie został znaleziony w bazie danych" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Użytkownik pomyślnie zaimportowany" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "Baza danych nie jest zapisywalna" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Zaktualizowano ustawienia serwera poczty e-mail" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Konfiguracja bazy danych" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Proszę wypełnić wszystkie pola!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-mail nie pochodzi z prawidłowej domeny" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Użytkownik '%(user)s' został utworzony" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Użytkownik '%(nick)s' został usunięty" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 #, fuzzy msgid "Can't delete Guest User" msgstr "Nie można usunąć użytkownika gościa" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" @@ -528,28 +531,28 @@ msgstr "nie zainstalowane" msgid "Execution permissions missing" msgstr "Brak uprawnienia do wykonywania pliku" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Brak" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "W identyfikatorach nie jest rozróżniana wielkość liter, nadpisywanie starego identyfikatora" @@ -566,84 +569,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Wysłano plik %(file)s" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Brak formatu źródłowego lub docelowego do konwersji" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s nie jest prawidłowym językiem" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Plik do wysłania musi mieć rozszerzenie" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Plik książki w wybranym formacie został usunięty" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Książka została usunięta" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie jest poprawną liczbą, pomijanie" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, 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:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Nie można zapisać pliku %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format pliku %(ext)s dodany do %(book)s" @@ -656,188 +659,191 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nie znaleziono: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Wyślij do Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, 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:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Testowy e-mail Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Testowy e-mail" # ??? -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Zacznij korzystać z Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Rejestracja e-mail dla użytkownika: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Wyślij %(format)s do Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Wyślij do Kindle" # ??? -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, 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:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Nie znaleziono pliku %(file)s na Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Nazwa użytkownika jest już zajęta" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Nieprawidłowy format adresu e-mail" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Błąd przy pobieraniu okładki" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Błędny format okładki" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Nie udało się utworzyć ścieżki dla okładki" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Plik wykonywalny programu unrar nie znaleziony" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Błąd przy wykonywaniu unrar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Odkrywaj" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Aby uzyskać prawidłowy api_endpoint dla urządzenia Kobo, należy skorzystać z dostępu do calibre-web spoza localhost" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Konfiguracja Kobo" @@ -847,7 +853,7 @@ msgstr "Konfiguracja Kobo" msgid "Register with %(provider)s" msgstr "Zarejestruj się %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "zalogowałeś się jako: '%(nickname)s'" @@ -912,9 +918,9 @@ msgstr "Błąd Google Oauth: {}" msgid "{} Stars" msgstr "{} Gwiazdek" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Zaloguj się" @@ -930,7 +936,7 @@ msgstr "Token wygasł" msgid "Success! Please return to your device" msgstr "Powodzenie! Wróć do swojego urządzenia" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Książki" @@ -955,7 +961,7 @@ msgstr "Pobrane książki" msgid "Show Downloaded Books" msgstr "Pokaż pobrane książki" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Najwyżej ocenione" @@ -964,7 +970,7 @@ msgid "Show Top Rated Books" msgstr "Pokaż menu najwyżej ocenionych książek" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Przeczytane" @@ -974,7 +980,7 @@ msgid "Show Read and Unread" msgstr "Pokaż menu przeczytane i nieprzeczytane" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Nieprzeczytane" @@ -992,7 +998,7 @@ msgid "Show Random Books" msgstr "Pokazuj losowe książki" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategorie" @@ -1003,7 +1009,7 @@ msgstr "Pokaż menu wyboru kategorii" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Cykle" @@ -1023,7 +1029,7 @@ msgid "Show Author Section" msgstr "Pokaż menu wyboru autora" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Wydawcy" @@ -1034,7 +1040,7 @@ msgstr "Pokaż menu wyboru wydawcy" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Języki" @@ -1061,7 +1067,7 @@ msgstr "Formaty plików" msgid "Show File Formats Section" msgstr "Pokaż menu formatu plików" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Zarchiwizowane książki" @@ -1070,7 +1076,7 @@ msgstr "Zarchiwizowane książki" msgid "Show Archived Books" msgstr "Pokaż zarchiwizowane książki" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Lista książek" @@ -1078,42 +1084,42 @@ msgstr "Lista książek" msgid "Show Books List" msgstr "Pokaż listę książek" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Szukaj" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Opublikowane po " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Opublikowane przed " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Ocena <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Ocena >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Status przeczytania = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 #, fuzzy msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Błąd podczas wyszukiwania kolumn niestandardowych, proszę zrestartować Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Wyszukiwanie" @@ -1164,7 +1170,7 @@ msgstr "Książka została usunięta z półki: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Utwórz półkę" @@ -1191,73 +1197,73 @@ msgstr "Książka została usunięta" msgid "Change order of Shelf: '%(name)s'" msgstr "Zmieniono kolejność półki: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Półka %(title)s została utworzona" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Półka %(title)s została zmieniona" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Wystąpił błąd" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Półka: „%(name)s”" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Zadania" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Oczekiwanie" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Nieudane" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Rozpoczynanie" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Zakończone" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Ststus nieznany" @@ -1290,145 +1296,173 @@ msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktual msgid "No release information available" msgstr "Brak dostępnych informacji o wersji" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Odkrywaj (losowe książki)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Najpopularniejsze książki (najczęściej pobierane)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Książki pobrane przez %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autor: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Wydawca: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Cykl: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Ocena: %(rating)s gwiazdek" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Format pliku: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Język: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "DLS" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Lista z ocenami" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Lista formatów" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Książka została umieszczona w kolejce do wysłania do %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Najpierw skonfiguruj adres e-mail Kindle..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Zarejestruj się" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Twój e-mail nie może się zarejestrować" -#: cps/web.py:1270 +#: cps/web.py:1286 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:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Nie można aktywować uwierzytelniania LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "zalogowałeś się jako: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Nie można zalogować: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Błędna nazwa użytkownika lub hasło" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Nowe hasło zostało wysłane na Twój adres e-mail" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "zalogowałeś się jako: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Profil użytkownika %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Zaktualizowano profil" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Znaleziono istniejące konto dla tego adresu e-mail" @@ -1487,31 +1521,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "edytuj metadane" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Wysyłanie" @@ -1536,7 +1570,7 @@ msgid "Send to eReader Email" msgstr "Adres e-mail dla wysyłania do Kindle" # ??? -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Panel administratora" @@ -1547,8 +1581,8 @@ msgid "Password" msgstr "Hasło" # ??? -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Pobieranie" @@ -1693,84 +1727,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Zarządzanie" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Pobierz pakiet Debug" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Podgląd dziennika" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Uruchom ponownie Calibre Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Zatrzymaj Calibre Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Wersja" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Szczegóły" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Bieżąca wersja" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Sprawdź aktualizacje" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Wykonaj aktualizację" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "OK" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Anuluj" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Na pewno chcesz zatrzymać Calibre Web?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Aktualizowanie, proszę nie odświeżać strony" @@ -1911,12 +1949,12 @@ msgid "Published Date" msgstr "Data publikacji" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Wydawca" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Język" @@ -1944,8 +1982,8 @@ msgid "Fetch Metadata" msgstr "Uzyskaj metadane" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1968,8 +2006,8 @@ msgstr "Kliknij okładkę, aby załadować metadane do formularza" msgid "Loading..." msgstr "Ładowanie..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Zamknij" @@ -2408,6 +2446,52 @@ msgstr "Ścieżka do konwertera Kepubify" msgid "Location of Unrar binary" msgstr "Lokalizacja pliku binarnego Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Ustawienia OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Zresetuj hasło użytkownika" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Konfiguracja widoku" @@ -2420,7 +2504,7 @@ msgstr "Liczba losowych książek do pokazania" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Liczba autorów do pokazania przed ukryciem (0=wyłącza ukrywanie)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Motyw" @@ -2511,64 +2595,64 @@ msgstr "Dodaj dozwolone/zabronione etykiety" msgid "Add Allowed/Denied custom column values" msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Czytaj w przeglądarce" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Słuchaj w przeglądarce" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Data publikacji" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Oznacz jako nieprzeczytane" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Oznacz jako przeczytane" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Przeczytana" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Przywróć z archiwum" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Dodaj do archiwum" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Zarchiwizowane" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Opis:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Dodaj do półki" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(publiczna)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Edytuj metadane" @@ -2641,7 +2725,7 @@ msgstr "Podaj nazwę domeny" msgid "Denied Domains (Blacklist)" msgstr "Domeny zabronione (czarna lista)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Następne" @@ -2763,7 +2847,7 @@ msgstr "Książki sortowane według oceny" msgid "Books ordered by file formats" msgstr "Ksiązki sortowane według formatu" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Półki" @@ -2780,54 +2864,54 @@ msgstr "Główne menu" msgid "Toggle Navigation" msgstr "Przełącz nawigację" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Przeszukaj bibliotekę" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Konto" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Wyloguj się" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Wysyłanie…" # ??? -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Błąd" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Wysyłanie zakończone, przetwarzanie, proszę czekać…" -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Ustawienia" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Proszę nie odświeżać strony" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Przeglądaj" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Informacje" # ??? -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Poprzedni" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Szczegóły książki" @@ -2953,11 +3037,11 @@ msgstr "Katalog e-booków Calibre-Web" msgid "epub Reader" msgstr "Czytnik PDF" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Jasny" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Ciemny" @@ -2983,111 +3067,124 @@ msgstr "" msgid "Comic Reader" msgstr "Czytnik PDF" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Skróty klawiaturowe" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Poprzednia strona" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Następna strona" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Skaluj do najlepszego" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Skaluj do szerokości" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Skaluj do wysokości" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Skaluj do wielkości oryginalnej" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Obróć w prawo" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Obróć w lewo" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Odwórć obraz" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Panel administratora" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Skaluj" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Najlepszy" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Szerokość" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Wysokość" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Natywnie" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Obrót" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Odwróć" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Poziomo" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Pionowo" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Kierunek" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Od lewej do prawej" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Od prawej do lewej" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Resetuj do góry" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Zapamiętaj pozycję" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Pasek przewijania" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Pokaż" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Ukryj" diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo index 28b7fdd87dff77e210589e618ac4bd92fe202d91..d86f5ad7f83e269feeb0461861a35b41e6bea464 100644 GIT binary patch delta 12028 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 JdvdSe{{ae0&sqQg delta 12852 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\n" "Language: br\n" @@ -13,494 +13,497 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Estatísticas" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Servidor reiniciado, por favor recarregue a página" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Executando o desligamento do servidor, por favor feche a janela" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Comando desconhecido" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Livro enfileirado com sucesso para envio para %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Desconhecido" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Página de Administração" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Configuração Básica" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Configuração de UI" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Editar Usuários" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Todos" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Usuário não encontrado" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} usuário(s) deletedos com sucesso" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar Tudo" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Requisição Malformada" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Nome do Convidado não pode ser alterado" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Convidado não pode ter esta função" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Nenhum usuário administrador restante, impossível remover a função de administrador" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Valor não pode ser Verdadeiro ou Falso" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Função Inválida" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Convidado não pode ter esta visão" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Visão Inválida" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "O idioma do Convidado é detectado automaticamente e não pode ser alterado" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Nenhum Idioma Válido Fornecido" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Nenhum Idioma do Livro Válido Fornecido" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parametro não encontrado" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Coluna Lido Inválida" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Coluna Restrito Inválida" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Configuração do Calibre-Web atualizada" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Você realmente quer apagar a Kobo Token?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Você realmente quer apagar este domínio?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Você realmente quer apagar este usuário?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Tem certeza que quer apagar essa estante?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Tem certeza que quer alterar o idioma do(s) usuário(s) selecionados?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Tem certeza que quer alterar os idiomas de livros visíveis par o usuário(s) selecionado(s)?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Tem certeza que quer alterar a função selecionada para o(s) usuário(s) selecionado(s)?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Tem certeza que quer alterar as restriçõeo selecionada para o(s) usuário(s) selecionado(s)?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Tem certeza de que quer alterar as restrições de visibilidade selecionadas para os usuários selecionados?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Tem certeza de que quer alterar o comportamento de sincronização da estante para o usuário selecionado?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Tem certeza que queres alterar a localização da biblioteca Calibre?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "O Calibre-Web buscará por Capas atualizadas e atualizará as Miniaturas de Capas, isso pode demorar um pouco" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Tem certeza de que deseja apagar o banco de dados de sincronização do Calibre-Web para forçar uma sincronização completa com seu Kobo Reader?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Negar" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} entradas de sincronização deletadas" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Tag não encontrada" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Ação Inválida" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Não Está Configurado para Aplicação Web" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do arquivo de log não é válida, digite o caminho correto" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do arquivo de log de acesso não é válida, digite o caminho correto" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Digite um provedor LDAP, porta, DN e identificador de objeto do usuário" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, digite uma Conta de Serviço LDAP e Senha" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, digite uma Conta de Serviço LDAP" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de grupo LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de grupo LDAP tem parênteses incomparáveis" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de usuário LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de usuário LDAP tem parênteses incomparáveis" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de usuário membro do LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Localização de LDAP CACertificate, Certificados ou Key Inválida, Insira o Caminho Correto" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Adicionar Novo Usuário" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Editar configurações do servidor de e-mail" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erro de banco de dados: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "E-mail de teste enfileirado para envio para %(email)s, verifique o resultado em Tarefas" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocorreu um erro ao enviar o e-mail de teste: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Por favor, configure seu endereço de e-mail primeiro..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Atualização das configurações do servidor de e-mail" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar configurações de tarefas agendadas" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "Hora de início inválida para a tarefa especificada" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "Duração inválida para a tarefa especificada" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "Configurações de tarefas agendadas atualizadas" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "Settings DB não é gravável" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuário %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Senha do usuário %(user)s redefinida" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Por favor, configure primeiro as configurações de correio SMTP..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visualizador do Log" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Solicitação de pacote de atualização" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Baixando pacote de atualização" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Descompactando pacote de atualização" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Substituindo arquivos" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "As conexões à base de dados estão fechadas" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Parando servidor" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Atualização concluída, pressione okay e recarregue a página" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Atualização falhou:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Erro HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Erro de conexão" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tempo limite durante o estabelecimento da conexão" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Erro geral" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "Arquivo de atualização não pôde ser salvo no diretório temporário" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "Arquivos não puderam ser substituídos durante a atualização" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "Falha ao extrair pelo menos um usuário LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Falha ao criar pelo menos um usuário LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erro: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Erro: Nenhum usuário retornado na resposta do servidor LDAP" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "No mínimo um usuário LDAP não encontrado no banco de dados" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} Usuário Importado com Sucesso" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "A localização do banco de dados não é válida, digite o caminho correto" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "DB não é gravável" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Keyfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Certfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Configurações do Banco de Dados Atualizada" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Configuração do Banco de Dados" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Por favor, preencha todos os campos!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "O e-mail não é de um domínio válido" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Adicionar novo usuário" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Usuário '%(user)s' criado" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuário '%(nick)s' excluído" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Impossível excluir Convidado" -#: cps/admin.py:1933 +#: cps/admin.py:1955 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:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuário '%(nick)s' atualizado" @@ -513,28 +516,28 @@ msgstr "não instalado" msgid "Execution permissions missing" msgstr "Faltam as permissões de execução" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Nenhum" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "Usuário não tem permissão para fazer upload da capa" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo" @@ -551,84 +554,84 @@ msgstr "Erro ao editar o livro: {}" msgid "File %(file)s uploaded" msgstr "Arquivo %(file)s enviado" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Formato de origem ou destino para conversão ausente" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "O arquivo a ser carregado deve ter uma extensão" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Formato do Livro Apagado com Sucesso" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Livro Apagado com Sucesso" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "Você não tem permissão para apagar livros" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, 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:1157 +#: cps/editbooks.py:1159 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:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permission denied)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o arquivo %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de arquivo %(ext)s adicionado a %(book)s" @@ -641,184 +644,187 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s não encontrado: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "Enviar para E-Reader" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Este e-mail foi enviado via Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "E-mail de teste do Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "E-mail de teste" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Comece a usar o calibre-web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "E-mail de registro do usuário: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Enviar %(format)s para o E-Reader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s enviado para E-Reader" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "Status Lido não pode ser alterado: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Falha ao excluir livro %(id)s: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Arquivo %(file)s não encontrado no Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "Erro ao renomear arquivo no caminho: {}" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Este nome de usuário já está registrado" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Formato de endereço de e-mail inválido" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 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:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Erro ao Baixar a capa" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Erro de Formato da Capa" -#: cps/helper.py:831 +#: cps/helper.py:869 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:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Falha em criar caminho para a capa" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "Conteúdo do arquivo de capa inválido" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Binário Unrar não encontrado" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Erro excecutando UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Descubra" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Por favor, acesse o calibre-web de um host não local para obter um api_endpoint válido para o dispositivo kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Configuração Kobo" @@ -827,7 +833,7 @@ msgstr "Configuração Kobo" msgid "Register with %(provider)s" msgstr "Registre-se com %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "agora você está logado como: '%(nickname)s'" @@ -892,9 +898,9 @@ msgstr "Erro no Oauth do Google: {}" msgid "{} Stars" msgstr "{} Estrelas" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Login" @@ -910,7 +916,7 @@ msgstr "O Token expirou" msgid "Success! Please return to your device" msgstr "Sucesso! Por favor, volte ao seu aparelho" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Livros" @@ -935,7 +941,7 @@ msgstr "Livros Baixados" msgid "Show Downloaded Books" msgstr "Mostrar Livros Baixados" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Livros Mais Bem Avaliados" @@ -944,7 +950,7 @@ msgid "Show Top Rated Books" msgstr "Mostrar Livros Mais Bem Avaliados" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Livros Lidos" @@ -954,7 +960,7 @@ msgid "Show Read and Unread" msgstr "Mostrar lido e não lido" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Livros Não Lidos" @@ -972,7 +978,7 @@ msgid "Show Random Books" msgstr "Mostrar Livros Aleatórios" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Categorias" @@ -983,7 +989,7 @@ msgstr "Mostrar seleção de categoria" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Série" @@ -1003,7 +1009,7 @@ msgid "Show Author Section" msgstr "Mostrar seleção de autor" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Editoras" @@ -1014,7 +1020,7 @@ msgstr "Mostrar seleção de editoras" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Idiomas" @@ -1041,7 +1047,7 @@ msgstr "Formatos de arquivo" msgid "Show File Formats Section" msgstr "Mostrar seleção de formatos de arquivo" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Livros Arquivados" @@ -1050,7 +1056,7 @@ msgstr "Livros Arquivados" msgid "Show Archived Books" msgstr "Mostrar livros arquivados" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Lista de Livros" @@ -1058,41 +1064,41 @@ msgstr "Lista de Livros" msgid "Show Books List" msgstr "Mostrar Lista de Livros" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Pesquisar" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publicado depois de " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publicado antes de " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Avaliação <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Avaliação >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Status de leitura = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "Erro na pesquisa de colunas personalizadas, reinicie o Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Pesquisa Avançada" @@ -1142,7 +1148,7 @@ msgstr "O livro foi removido da estante: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Crie uma Estante" @@ -1167,73 +1173,73 @@ msgstr "Estante Apagada com Sucesso" msgid "Change order of Shelf: '%(name)s'" msgstr "Alterar ordem da Estante: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s criada" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s alterada" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Houve um erro" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Tarefas" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Aguardando" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Falha" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Iniciado" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Concluído" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Terminado" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Cancelado" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Status Desconhecido" @@ -1266,145 +1272,173 @@ msgstr "Uma nova atualização está disponível. Clique no botão abaixo para a msgid "No release information available" msgstr "Não há informações de lançamento disponíveis" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Descobrir (Livros Aleatórios)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Livros Quentess (Mais Baixados)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Livros baixados por %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Autor: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Editora: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Série: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Avaliação: Nenhuma" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Avaliação: %(rating)s estrelas" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Formato do arquivo: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Categoria: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Idioma: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Downloads" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Lista de Avaliações" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Lista de formatos de arquivo" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Por favor, configure primeiro as configurações de correio SMTP..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Livro enfileirado com sucesso para envio para %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Ops! Ocorreu um erro ao enviar este livro: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Por favor, atualize seu perfil com um endereço de e-mail Envie Para o Kindle válido." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "O servidor de E-Mail não está configurado, por favor contacte o seu administrador!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registe-se" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "O servidor de E-Mail não está configurado, por favor contacte o seu administrador!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Seu e-mail não tem permissão para registrar" -#: cps/web.py:1270 +#: cps/web.py:1286 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:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Não é possível ativar a autenticação LDAP" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "agora você está logado como: '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Login de reserva como:'%(nickname)s', servidor LDAP não acessível ou usuário desconhecido" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Não foi possível fazer o login: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Nome de Usuário ou Senha incorretos" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Nova Senha foi enviada para seu endereço de e-mail" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Por favor, digite um nome de usuário válido para redefinir a senha" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "agora você está logado como: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Perfil de %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Perfil atualizado" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Encontrada uma conta existente para este endereço de e-mail." @@ -1463,31 +1497,31 @@ msgstr "Reconectando banco de dados Calibre" msgid "E-mail" msgstr "E-mail" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "editar metadados" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "Gerado %(count)s miniaturas de capa" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "Miniatura da Capa" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "Gerado {0} miniaturas de série" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "Limpando o cache de miniaturas da capa" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Upload" @@ -1510,7 +1544,7 @@ msgstr "Endereço de e-mail" msgid "Send to eReader Email" msgstr "Enviar para o endereço de e-mail do E-Reader" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1520,8 +1554,8 @@ msgstr "Admin" msgid "Password" msgstr "Senha" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Baixar" @@ -1665,84 +1699,88 @@ msgstr "Gerar miniaturas de capa de livro" msgid "Generate series cover thumbnails" msgstr "Gerar miniaturas de capa de séries" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "Reconectar à Biblioteca do Calibre" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "Atualizar Cache de Capas de Miniaturas" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administração" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Baixar Pacote de Depuração" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Ver Logs" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Reiniciar" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Desligar" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Informação da Versão" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Versão" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detalhes" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Versão atual" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Verificar Atualizações" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Realizar Atualizações" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Tem a certeza que quer reiniciar?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Cancelar" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Tem certeza que quer encerrar?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Atualizando, por favor não recarregue esta página" @@ -1882,12 +1920,12 @@ msgid "Published Date" msgstr "Data de Publicação" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Editora" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Idioma" @@ -1915,8 +1953,8 @@ msgid "Fetch Metadata" msgstr "Buscar Metadados" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1938,8 +1976,8 @@ msgstr "Clique na capa para carregar os metadados para o formulário" msgid "Loading..." msgstr "Carregando..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Fechar" @@ -2370,6 +2408,52 @@ msgstr "Caminho para Kepubify E-Book Converter" msgid "Location of Unrar binary" msgstr "Caminho para o binário Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Configurações do OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Redefinir senha do usuário" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Configuração de Visualização" @@ -2382,7 +2466,7 @@ msgstr "Nº de Livros Aleatórios a Exibir" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Nº de Autores a Exibir Antes de Esconder (0=Desativar Esconder)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2471,64 +2555,64 @@ msgstr "Adicionar Tags Permitidas/Negadas" msgid "Add Allowed/Denied custom column values" msgstr "Adicionar Valores Permitidos/Negados de Coluna Personalizada" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Ler no Browser" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Ouvir no Browser" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Livro %(index)s de %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publicado em" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Marcar como Não Lido" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Marcar como Lido" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Lido" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Restaurar do arquivo" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Adicionar ao arquivo" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Arquivado" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Descrição:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Adicionar à estante" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Editar Metadados" @@ -2601,7 +2685,7 @@ msgstr "Digite o nome do domínio" msgid "Denied Domains (Blacklist)" msgstr "Domínios Negados (Lista Negra)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Próximo" @@ -2719,7 +2803,7 @@ msgstr "Livros ordenados por Avaliação" msgid "Books ordered by file formats" msgstr "Livros ordenados por formatos de arquivo" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Estantes" @@ -2736,52 +2820,52 @@ msgstr "Início" msgid "Toggle Navigation" msgstr "Alternar Navegação" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Pesquisar na Biblioteca" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Conta" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Sair" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Enviando..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Erro" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Upload concluído, processando, por favor aguarde ..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Configurações" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Por favor, não atualize a página" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Navegue em" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Sobre" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Anterior" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Detalhes do Livro" @@ -2905,11 +2989,11 @@ msgstr "Catálogo de e-books Calibre-Web" msgid "epub Reader" msgstr "leitor de epub" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Claro" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Escuro" @@ -2933,111 +3017,124 @@ msgstr "" msgid "Comic Reader" msgstr "Leitor de Quadrinhos" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Atalhos de Teclado" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Página Anterior" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Página seguinte" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Dimensionar para Melhor" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Dimensionar para Largura" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Dimensionar para Altura" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Dimensionar para a Nativo" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Girar para direita" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Girar para esqueda" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Inverter Imagem" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Página de Administração" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Dimensionar" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Melhor" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Largura" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Altura" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Nativo" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rodar" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Inverter" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horizontal" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertical" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Direção" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Esquerda para a direita" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Direita para a esquerda" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Redefinir para o topo" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Lembrar Posição" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Barra de Rolagem" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Mostrar" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Esconder" diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo index 4b7e74d478068135469f5142b014d8c4c374a008..b097af3b4df40b7195411b4b3ec1a5bcf1f05b6e 100644 GIT binary patch delta 7753 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 delta 8591 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 diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index a9847a36..a9e60ac5 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-04-29 01:20+0400\n" "Last-Translator: ZIZA\n" "Language: ru\n" @@ -17,505 +17,508 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Статистика" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Сервер перезагружен, пожалуйста, обновите страницу" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Производится остановка сервера, пожалуйста, закройте окно" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Неизвестная команда" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Книга успешно поставлена в очередь для отправки на %(eReadermail)s" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Неизвестно" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Администрирование" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Настройки сервера" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Настройка интерфейса" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Управление сервером" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Все" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Показать все" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Конфигурация Calibre-Web обновлена" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Вы действительно хотите удалить Kobo Token ?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Вы действительно хотите остановить Calibre-Web?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Запретить" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Разрешить" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json не настроен для веб-приложения" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Неправильное расположение файла журнала, пожалуйста, введите правильный путь." -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Недопустимое расположение файла журнала доступа, пожалуйста, введите правильный путь" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Пожалуйста, введите провайдера LDAP, порт, DN и идентификатор объекта пользователя" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Фильтр объектов группы LDAP должен иметь один идентификатор формата \"%s\"" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Фильтр объектов группы LDAP имеет незавершённые круглые скобки" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Фильтр объектов пользователя LDAP должен иметь один идентификатор формата \"%s\"" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Фильтр объектов пользователя LDAP имеет незавершенную круглую скобку" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Добавить нового пользователя" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Изменить настройки SMTP" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Произошла ошибка при отправке тестового письма на: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Неизвестная ошибка. Попробуйте позже." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Изменить пользователя %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Пароль для пользователя %(user)s сброшен" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Пожалуйста, сперва настройте параметры SMTP....." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Просмотр лога" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Проверка обновлений" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Загрузка обновлений" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Распаковка обновлений" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Замена файлов" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Соединения с базой данных закрыты" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Остановка сервера" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Обновления установлены, нажмите ок и перезагрузите страницу" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Ошибка обновления:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Ошибка HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Ошибка соединения" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Тайм-аут при установлении соединения" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Общая ошибка" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Не удалось сохранить файл обновления во временной папке." -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Не удалось создать хотя бы одного пользователя LDAP" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Не удалось создать хотя бы одного пользователя LDAP" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Ошибка: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "По крайней мере, один пользователь LDAP не найден в базе данных" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь." -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Дополнительный Настройки" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Пожалуйста, заполните все поля!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-mail не из существующей доменной зоны" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Добавить пользователя" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Пользователь '%(user)s' добавлен" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Для этого адреса электронной почты или логина уже есть учётная запись." -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Пользователь '%(nick)s' удалён" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Это последний администратор, невозможно удалить пользователя" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" @@ -528,28 +531,28 @@ msgstr "не установлено" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Нет" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Невозможно открыть книгу. Файл не существует или недоступен" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -566,84 +569,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Файл %(file)s загружен" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Исходный или целевой формат для конвертирования отсутствует" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Произошла ошибка при конвертирования этой книги: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s не допустимый язык" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Файл %(filename)s не удалось сохранить во временную папку" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)." -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Не удалось сохранить файл %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Формат файла %(ext)s добавлен в %(book)s" @@ -656,184 +659,187 @@ msgstr "Настройка Google Drive не завершена, попробу msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Не удалось проверить домен обратного вызова, пожалуйста, выполните шаги для проверки домена в консоли разработчика Google." -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s форма не найден для книги с id: %(book)d" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s не найден на Google Drive: %(fn)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s не найден: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Отправить на Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Это электронное письмо было отправлено через Caliber-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Тестовый e-mail для Calibre-Web" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Тестовый e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Начать работу с Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Регистрационный e-mail для пользователя: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "Преобразовать %(orig)s в %(format)s и отправить в Kindle" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Отправить %(format)s в Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Отправить на Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Запрашиваемый файл не может быть прочитан. Возможно у вас нет разрешения?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Файл %(file)s не найден на Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Путь книги %(path)s не найден на Google Drive" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Это имя пользователя уже занято" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Не удалось создать путь для обложки." -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Обзор" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Пожалуйста, подключитесь к Calibre-Web не с локального хоста, чтобы получить действительный api_endpoint для устройства Kobo" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Настройка Kobo" @@ -842,7 +848,7 @@ msgstr "Настройка Kobo" msgid "Register with %(provider)s" msgstr "Зарегистрируйтесь с %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "вы вошли как пользователь '%(nickname)s'" @@ -907,9 +913,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Логин" @@ -925,7 +931,7 @@ msgstr "Ключ просрочен" msgid "Success! Please return to your device" msgstr "Успешно! Пожалуйста, проверьте свое устройство" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Книги" @@ -950,7 +956,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Книги с наилучшим рейтингом" @@ -959,7 +965,7 @@ msgid "Show Top Rated Books" msgstr "Показывать книги с наивысшим рейтингом" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Прочитанные Книги" @@ -969,7 +975,7 @@ msgid "Show Read and Unread" msgstr "Показывать прочитанные и непрочитанные" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Непрочитанные Книги" @@ -987,7 +993,7 @@ msgid "Show Random Books" msgstr "Показывать Случайные Книги" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Категории" @@ -998,7 +1004,7 @@ msgstr "Показывать выбор категории" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Серии" @@ -1018,7 +1024,7 @@ msgid "Show Author Section" msgstr "Показывать выбор автора" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Издатели" @@ -1029,7 +1035,7 @@ msgstr "Показать выбор издателя" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Языки" @@ -1056,7 +1062,7 @@ msgstr "Форматы файлов" msgid "Show File Formats Section" msgstr "Показать выбор форматов файлов" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1065,7 +1071,7 @@ msgstr "" msgid "Show Archived Books" msgstr "Показывать недавние книги" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1073,41 +1079,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Поиск" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Опубликовано после " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Опубликовано до " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Рейтинг <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Рейтинг >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Расширенный поиск" @@ -1158,7 +1164,7 @@ msgstr "Книга удалена с полки: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Создать полку" @@ -1185,73 +1191,73 @@ msgstr "Метаданные обновлены" msgid "Change order of Shelf: '%(name)s'" msgstr "Изменить расположение полки '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Создана полка %(title)s" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Колка %(title)s изменена" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Произошла ошибка" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "Публичная полка с названием '%(title)s' уже существует." -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "Приватная полка с названием '%(title)s' уже существует." -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Полка: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Ошибка открытия Полки. Полка не существует или недоступна" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Задания" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Ожидание" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Неудачно" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Начало" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Завершено" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Неизвестный статус" @@ -1284,145 +1290,173 @@ msgstr "Новое обновление доступно. Нажмите на к msgid "No release information available" msgstr "Информация о выпуске недоступна" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Обзор (Случайные Книги)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Популярные книги (часто загружаемые)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Автор: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Издатель: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Серии: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Оценка: %(rating)s звезды(а)" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Формат файла: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Категория: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Язык: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Скачать" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Список рейтингов" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Список форматов файлов" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Пожалуйста, сперва настройте параметры SMTP....." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Книга успешно поставлена в очередь для отправки на %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "При отправке этой книги произошла ошибка: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "Сервер электронной почты не настроен, обратитесь к администратору !" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Зарегистрироваться" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "Сервер электронной почты не настроен, обратитесь к администратору !" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Ваш e-mail не подходит для регистрации" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Письмо с подтверждением отправлено вам на e-mail." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Не удается активировать LDAP аутентификацию" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "вы вошли как пользователь '%(nickname)s'" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "Резервный вход в систему как: '%(nickname)s', LDAP-сервер недоступен или пользователь не известен" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Не удалось войти: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Ошибка в имени пользователя или пароле" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Новый пароль был отправлен на ваш адрес электронной почты" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Неизвестная ошибка. Попробуйте позже." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "вы вошли как пользователь '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Профиль %(name)s's" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Профиль обновлён" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Этот адрес электронной почты уже зарегистрирован." @@ -1482,31 +1516,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "изменить метаданные" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Загрузить" @@ -1530,7 +1564,7 @@ msgstr "Адрес электронной почты" msgid "Send to eReader Email" msgstr "Отправить на Kindle Адрес электронной почты" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Управление" @@ -1540,8 +1574,8 @@ msgstr "Управление" msgid "Password" msgstr "Пароль" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Скачать" @@ -1685,84 +1719,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Управление" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Просмотреть лог файл" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Перезагрузить Calibre-Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Остановить Calibre-Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Версия" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Подробности" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Текущая версия" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Проверка обновлений" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Установить обновления" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Вы действительно хотите перезагрузить Calibre-Web?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Отмена" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Вы действительно хотите остановить Calibre-Web?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Установка обновлений, пожалуйста, не обновляйте страницу" @@ -1902,12 +1940,12 @@ msgid "Published Date" msgstr "Опубликовано" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Издатель" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Язык" @@ -1935,8 +1973,8 @@ msgid "Fetch Metadata" msgstr "Получить метаданные" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1959,8 +1997,8 @@ msgstr "Нажмите на обложку, чтобы получить мета msgid "Loading..." msgstr "Загрузка..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Закрыть" @@ -2394,6 +2432,52 @@ msgstr "" msgid "Location of Unrar binary" msgstr "Расположение бинарного файла Unrar" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Настройки OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Сбросить пароль пользователя" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Просмотреть Конфигурацию" @@ -2406,7 +2490,7 @@ msgstr "Количество отображаемых случайных кни msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Количество авторов для отображения перед скрытием (0 = отключить скрытие)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Тема" @@ -2497,64 +2581,64 @@ msgstr "Добавить разрешенные / запрещенные тег msgid "Add Allowed/Denied custom column values" msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Читать" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Прослушать в браузере" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Опубликованный" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Отметить как непрочитанное" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Отметить как прочитанное" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Прочесть" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Описание:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Добавить на книжную полку" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Публичная)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Редактировать метаданные" @@ -2626,7 +2710,7 @@ msgstr "Введите доменное имя" msgid "Denied Domains (Blacklist)" msgstr "Запрещенные домены (черный список)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Далее" @@ -2746,7 +2830,7 @@ msgstr "Книги, упорядоченные по рейтингу" msgid "Books ordered by file formats" msgstr "Книги отсортированы по формату файла" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Полки" @@ -2763,52 +2847,52 @@ msgstr "Главная" msgid "Toggle Navigation" msgstr "Включить навигацию" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Поиск в библиотеке" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Учетная запись" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Выход" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Загружается..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Ошибка" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Загрузка завершена, обработка, пожалуйста, подождите..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Настройки" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Пожалуйста не обновляйте страницу" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Просмотр" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "О программе" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Предыдущий" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Подробнее о книге" @@ -2934,11 +3018,11 @@ msgstr "Каталог электронных книг Caliber-Web" msgid "epub Reader" msgstr "PDF reader" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Светлая" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Темная" @@ -2964,111 +3048,124 @@ msgstr "" msgid "Comic Reader" msgstr "PDF reader" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Горячие клавиши" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Предыдущая страница" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Следующая страница" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Масштабировать до лучшего" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Масштабироваать по ширине" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Масштабировать по высоте" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Масштабировать до оригинала" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Повернуть Вправо" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Повернуть Влево" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Перевернуть изображение" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Администрирование" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Масштаб" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Лучшее" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Ширина" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Длина" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Оригинальный" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Повернуть" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Перевернуть" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Горизонтально" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Вертикально" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Направление" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Слева направо" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Справа налево" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo index bf0691cedde49dce5d9045ed279122fd642ca97a..0976ca3dd1a913279954cfbf4767d8fe03e96122 100644 GIT binary patch delta 10291 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 delta 10839 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\n" "Language: sv\n" @@ -16,502 +16,505 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Statistik" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Server startas om, vänligen uppdatera sidan" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Stänger servern, vänligen stäng fönstret" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Okänt kommando" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "Boken är i kö för att skicka till %(eReadermail)s" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Okänd" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Administrationssida" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Grundläggande konfiguration" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Användargränssnitt konfiguration" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Redigera användare" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Alla" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Användaren hittades inte" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} användare har tagits bort" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Visa alla" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Felaktig begäran" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Gästnamn kan inte ändras" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Gäst kan inte ha den här rollen" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratörsanvändare kvar, kan inte ta bort administratörsrollen" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Värdet måste vara sant eller falskt" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Ogiltig roll" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Gästen kan inte ha den här vyn" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "Ogiltig vy" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gästens språk bestäms automatiskt och kan inte ställas in" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Inget giltigt språk anges" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Inget giltigt bokspråk anges" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Parameter hittades inte" -#: cps/admin.py:565 +#: cps/admin.py:567 #, fuzzy msgid "Invalid Read Column" msgstr "Ogiltig roll" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web konfiguration uppdaterad" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Vill du verkligen ta bort Kobo-token?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Vill du verkligen ta bort den här domänen?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Vill du verkligen ta bort den här användaren?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Är du säker på att du vill ta bort hyllan?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Är du säker på att du vill ändra språk för valda användare?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Är du säker på att du vill ändra synliga bokspråk för valda användare?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Är du säker på att du vill ändra de valda begränsningarna för de valda användarna?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Är du säker på att du vill ändra de valda synlighetsbegränsningarna för de valda användarna?" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Är du säker på att du vill stoppa Calibre-Web?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Förneka" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Tillåt" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Taggen hittades inte" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Ogiltig åtgärd" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json är inte konfigurerad för webbapplikation" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Loggfilens plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Åtkomstloggplatsens plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Vänligen ange en LDAP-leverantör, port, DN och användarobjektidentifierare" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Ange giltigt användarnamn för att återställa lösenordet" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP-gruppobjektfilter måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP-gruppobjektfilter har omatchande parentes" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-användarobjektfilter måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP-användarobjektfilter har omatchad parentes" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Användarfilter för LDAP-medlemmar måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Användarfilter för LDAP-medlemmar har omatchad parentes" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP-certifikat, certifikat eller nyckelplats är inte giltigt, vänligen ange rätt sökväg" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Lägg till ny användare" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Ändra SMTP-inställningar" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasfel: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, 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:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Det gick inte att skicka Testmeddelandet: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Vänligen konfigurera din e-postadress först..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ett okänt fel uppstod. Försök igen senare." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Redigera användaren %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Lösenord för användaren %(user)s återställd" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Konfigurera SMTP-postinställningarna först..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Visaren för loggfil" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Begär uppdateringspaketet" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Hämtar uppdateringspaketet" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Packar upp uppdateringspaketet" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Ersätta filer" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Databasanslutningarna är stängda" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Stoppar server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Uppdatering klar, tryck på okej och uppdatera sidan" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Uppdateringen misslyckades:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP-fel" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Anslutningsfel" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Tiden ute när du etablerade anslutning" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Allmänt fel" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Uppdateringsfilen kunde inte sparas i Temp Dir" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Det gick inte att skapa minst en LDAP-användare" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "Det gick inte att skapa minst en LDAP-användare" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fel: %(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "Fel: Ingen användare återges som svar på LDAP-servern" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "Minst en LDAP-användare hittades inte i databasen" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} användare har importerats" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB-plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "DB är inte skrivbar" -#: cps/admin.py:1730 +#: cps/admin.py:1737 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:1734 +#: cps/admin.py:1741 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:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Funktion konfiguration" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Fyll i alla fält!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-posten är inte från giltig domän" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Lägg till ny användare" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Användaren '%(user)s' skapad" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Användaren '%(nick)s' borttagen" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Det går inte att ta bort gästanvändaren" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Användaren '%(nick)s' uppdaterad" @@ -524,28 +527,28 @@ msgstr "inte installerad" msgid "Execution permissions missing" msgstr "Körningstillstånd saknas" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format 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:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ingen" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 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:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifierare är inte skiftlägeskänsliga, skriver över gammal identifierare" @@ -562,84 +565,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "Filen %(file)s uppladdad" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Källa eller målformat för konvertering saknas" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s är inte ett giltigt språk" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Filen som ska laddas upp måste ha en ändelse" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, 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:760 +#: cps/editbooks.py:761 #, 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:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "Bokformat har tagits bort" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "Boken har tagits bort" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "redigera metadata" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, 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:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Det gick inte att lagra filen %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformatet %(ext)s lades till %(book)s" @@ -652,186 +655,189 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s hittades inte: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Skicka till Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Detta e-postmeddelande har skickats via Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-post" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Test e-post" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Kom igång med Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Registrera e-post för användare: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Skicka %(format)s till Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Skicka till Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Borttagning av boken %(id)s misslyckades: %(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Filen %(file)s hittades inte på Google Drive" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Detta användarnamn är redan taget" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Ogiltigt e-postadressformat" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Fel vid hämtning av omslaget" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Fel på omslagsformat" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Det gick inte att skapa sökväg för omslag" -#: cps/helper.py:857 +#: cps/helper.py:895 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:868 +#: cps/helper.py:906 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:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Endast jpg/jpeg-filer stöds som omslagsfil" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "Unrar binär fil hittades inte" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "Fel vid körning av UnRar" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Upptäck" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "Vänligen få tillgång till calibre-web från icke localhost för att få giltig api_endpoint för Kobo-enhet" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo-installation" @@ -840,7 +846,7 @@ msgstr "Kobo-installation" msgid "Register with %(provider)s" msgstr "Registrera dig med %(provider)s" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "du är nu inloggad som: \"%(nickname)s\"" @@ -905,9 +911,9 @@ msgstr "Google Oauth-fel: {}" msgid "{} Stars" msgstr "{} stjärnor" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Logga in" @@ -923,7 +929,7 @@ msgstr "Token har löpt ut" msgid "Success! Please return to your device" msgstr "Lyckades! Vänligen återvänd till din enhet" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Böcker" @@ -948,7 +954,7 @@ msgstr "Hämtade böcker" msgid "Show Downloaded Books" msgstr "Visa hämtade böcker" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Bäst rankade böcker" @@ -957,7 +963,7 @@ msgid "Show Top Rated Books" msgstr "Visa böcker med bästa betyg" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Lästa böcker" @@ -967,7 +973,7 @@ msgid "Show Read and Unread" msgstr "Visa lästa och olästa" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Olästa böcker" @@ -985,7 +991,7 @@ msgid "Show Random Books" msgstr "Visa slumpmässiga böcker" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategorier" @@ -996,7 +1002,7 @@ msgstr "Visa kategorival" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Serier" @@ -1016,7 +1022,7 @@ msgid "Show Author Section" msgstr "Visa författarval" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Förlag" @@ -1027,7 +1033,7 @@ msgstr "Visa urval av förlag" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Språk" @@ -1054,7 +1060,7 @@ msgstr "Filformat" msgid "Show File Formats Section" msgstr "Visa val av filformat" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Arkiverade böcker" @@ -1063,7 +1069,7 @@ msgstr "Arkiverade böcker" msgid "Show Archived Books" msgstr "Visa arkiverade böcker" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Boklista" @@ -1071,41 +1077,41 @@ msgstr "Boklista" msgid "Show Books List" msgstr "Visa boklista" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Sök" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Publicerad efter " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Publicerad före " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Betyg <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Betyg >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Lässtatus = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Avancerad sökning" @@ -1156,7 +1162,7 @@ msgstr "Boken har tagits bort från hyllan: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Skapa en hylla" @@ -1183,73 +1189,73 @@ msgstr "Boken har tagits bort" msgid "Change order of Shelf: '%(name)s'" msgstr "Ändra ordning på hyllan: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Hyllan %(title)s skapad" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Hyllan %(title)s ändrad" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Det fanns ett fel" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, 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:380 +#: cps/shelf.py:383 #, 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:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylla: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Uppgifter" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Väntar" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Misslyckades" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Startad" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Klar" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Okänd status" @@ -1282,145 +1288,173 @@ msgstr "En ny uppdatering är tillgänglig. Klicka på knappen nedan för att up msgid "No release information available" msgstr "Ingen versionsinformation tillgänglig" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Upptäck (slumpmässiga böcker)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Heta böcker (mest hämtade)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "Hämtade böcker av %(user)s" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Författare: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Förlag: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Serier: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Betyg: %(rating)s stars" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Filformat: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Språk: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Hämtningar" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Betygslista" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Lista över filformat" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Konfigurera SMTP-postinställningarna först..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "Boken är i kö för att skicka till %(eReadermail)s" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Det gick inte att skicka den här boken: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "Konfigurera din kindle-e-postadress först..." -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "E-postservern är inte konfigurerad, kontakta din administratör!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Registrera" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "E-postservern är inte konfigurerad, kontakta din administratör!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Din e-post är inte tillåten att registrera" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Bekräftelsemail skickades till ditt e-postkonto." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "Det går inte att aktivera LDAP-autentisering" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "du är nu inloggad som: \"%(nickname)s\"" + +#: cps/web.py:1367 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgstr "" + +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Det gick inte att logga in: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Fel användarnamn eller lösenord" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Nytt lösenord skickades till din e-postadress" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Ett okänt fel uppstod. Försök igen senare." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Ange giltigt användarnamn för att återställa lösenordet" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "du är nu inloggad som: \"%(nickname)s\"" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)ss profil" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profilen uppdaterad" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Hittade ett befintligt konto för den här e-postadressen" @@ -1479,31 +1513,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "redigera metadata" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Ladda upp" @@ -1527,7 +1561,7 @@ msgstr "E-post" msgid "Send to eReader Email" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Administratör" @@ -1537,8 +1571,8 @@ msgstr "Administratör" msgid "Password" msgstr "Lösenord" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Hämta" @@ -1683,84 +1717,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Hämta felsökningspaketet" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Visa loggfiler" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Starta om Calibre-Web" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Stoppa Calibre-Web" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Version" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detaljer" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Aktuell version" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Sök efter uppdatering" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Utför uppdatering" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 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:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Avbryt" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Är du säker på att du vill stoppa Calibre-Web?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Uppdaterar, vänligen uppdatera inte sidan" @@ -1900,12 +1938,12 @@ msgid "Published Date" msgstr "Publiceringsdatum" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Förlag" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Språk" @@ -1933,8 +1971,8 @@ msgid "Fetch Metadata" msgstr "Hämta metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1957,8 +1995,8 @@ msgstr "Klicka på omslaget för att läsa in metadata till formuläret" msgid "Loading..." msgstr "Läser in..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Stäng" @@ -2392,6 +2430,52 @@ msgstr "Sökväg till Kepubify calibre e-bokkonverterare" msgid "Location of Unrar binary" msgstr "Plats för Unrar-binär" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth-inställningar" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Återställ användarlösenordet" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Visa konfiguration" @@ -2404,7 +2488,7 @@ msgstr "Antal slumpmässiga böcker att visa" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "Antal författare att visa innan de döljs (0 = inaktivera dölja)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2495,64 +2579,64 @@ msgstr "Lägg till tillåtna/avvisade taggar" msgid "Add Allowed/Denied custom column values" msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Läs i webbläsaren" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Lyssna i webbläsaren" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, fuzzy, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Publicerad" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Markera som oläst" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Markera som läst" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Läst" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Återställ från arkivet" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Lägg till i arkivet" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Arkiverad" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Beskrivning:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Lägg till hyllan" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Publik)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Redigera metadata" @@ -2625,7 +2709,7 @@ msgstr "Ange domännamn" msgid "Denied Domains (Blacklist)" msgstr "Avvisade domäner för registrering" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Nästa" @@ -2745,7 +2829,7 @@ msgstr "Böcker sorterade efter Betyg" msgid "Books ordered by file formats" msgstr "Böcker ordnade av filformat" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Hyllor" @@ -2762,52 +2846,52 @@ msgstr "Hem" msgid "Toggle Navigation" msgstr "Växla navigering" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Sök i bibliotek" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Konto" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Logga ut" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Laddar upp..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Fel" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Uppladdning klar, bearbetning, vänligen vänta ..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Inställningar" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Vänligen uppdatera inte sidan" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Bläddra" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Om" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Föregående" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Bokdetaljer" @@ -2932,11 +3016,11 @@ msgstr "Calibre-Web e-bokkatalog" msgid "epub Reader" msgstr "PDF-läsare" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Ljust" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Mörkt" @@ -2962,111 +3046,124 @@ msgstr "" msgid "Comic Reader" msgstr "PDF-läsare" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Kortkommandon" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Föregående sida" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Nästa sida" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "Skala till bäst" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Skala till bredd" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Skala till höjd" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Skala till ursprunglig" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Rotera åt höger" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Rotera åt vänster" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Vänd bilden" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Administrationssida" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Skala" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Bäst" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Bredd" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Höjd" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Ursprunglig" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Rotera" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Vänd" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Horisontell" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Vertikal" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Riktning" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Vänster till höger" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Höger till vänster" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo index c724710fb3704eca344cfcc84d7a8985c448626c..f64d6e42ae1aac13eda519e9aaa912b156f03c02 100644 GIT binary patch delta 5075 zcmYM$2~d{D9mnxS?n^-KLwUIcgaCpVqGC9_KuoHUrfF?3sYh)GX`mWgd5lL4(ZrcB z2`0uyX2jHp(}vgBv5nSAn?#ysh*s?ck4z1YCTVbNwVkMtet$eWQ-|TRyU#wm|NZYi zD>u4*j_&nwE>G}#+3;_wk1;8DBv`fo|ErHSrkLtNoPrLjUoTF;ep|nY9_ruVBbXFp z%u-y7{`esV;>YNV=P-of%%>E>Xc)5IM7=QTb})Xi#*C*Pfe|NZ(1lYr`d!2n78?rg#D;Uhj1c}+V+$Lw_iC1 z(7p)Ma49z7dQ@P8sBx~Mwn~GkUo=Kx89EPAm`g#CcAz3Wib~nLsLcEYwc-n?6kfN_ zM=+FnD6=R7@u-wnqPA=~YRg(snS2IQ@mW;h2a?FY1~_ax9z#Xek7~bwn)n)OYi^;= z=RFLc14V(p9Jd*P-6uYM<{yt+X4b;;%6qFIs&aW>)}t)_FLI`U=#U*oI2& z9^@REKcNoKAl70KowKk3IUc4J706ChfUja69ztd4JSr2Pp#pV=C}^*5AVHZC)Pzao zPXkn;_IwGF1hX0!<2F>kPf-K;c-)nSp(cn%wI`sqEW_3dP~%QV0(Q&-3QFm6)E>8? z0@;We_!?>}P9O)_44_tW9rfN#)C7KPv=%ZRwPh)&K+;ix1@mqx!Ex1=5U~r`0}h$8pSW zo~4k79q7R$ScT_MFD8%%O*9cRaSBeyhjAW0kHlvFh910)%1|7g^=3I zs{b2VFV-8W^&M}{%CKyExl$r0YI1d%r4Aj8&r~!U}TFHy36~2O6NDpdD zdr^n(n0E->~#nZgnps!=cQM(tS-D&=0(R=khFcnP)QYqtHLR=)zb zUkV2Cyc8ASOk1x-WuU>fH=)12|J4+9_?j^UpF*99b_~Z(Yd0$L-=H#a6!qSR==d1( z5$ay3V}ELJD=M@7sQ%YcH|sa(!8p?B{E$L9g*DiPTA^>Ty9ME>l}2MICZKM}Ow@oC zsFl`X6fUv#6{zRUsDL-20@;pQ*a6g6@P}gZ&vu(LG;lD@2$ZLNiv_KG7`&0u9YUE-pfGspJuJccvEQu|%hLY_cvO*3ko^{4k$s68Fphgz0i>Z;REs(I80r*nLG{~*+T%m036EnVzK8Lc#67NwOHcvVqQ-j^ zL-hSO+YTF0D|`XjHuD z70^BmW`5(Ppd0Ks@?-wWFYRqGf37H%5vaXOK&?0%m6>AHgpZ(Bx&`BK59)L4!xlV^ z>Q_C>U0@4poOX0HK?em*_!6qV8?~3+sJ%XnDR>-Xa1a&n4b)0UQ5i|9bhn}c6<|H; z?5ssCpcQo=Y({0eqmulq;T8K}FKXcZNVbg^$(|WT?Oon%_r+PLmDb@zT#jQG4Qit8 zsL%IhRA$~lZPD*g0iQvg{^8k-3%n7PHP%!pj=xoM@>+PpskGXpuu<`<~b{SGR? z-=hM25B1(Bs0tWZyG6Rz!p?W+At8eVgl|& z?P(9{hI|JV&<7ZZXD|x~F%uP)E|@IT!X7{c@Ez26KgIyuf@REao~ICmCs7giqcZS! zRH}zifeoWSj-a;2mu2T*EOLCzOw7ei*0(T?`dJLd|DYz;ZKQf2I$Bv21)b6~^us4m zD_w=$#^!0%=h%no_%(8;n8-Re@CMZ3YeWUM#<~%UsPDoMJc%0jBUI)t){%d$Y={OA z{u^~zV(K}NScpN`j%BzVpTy&+_tF=-0~Vt$rYh8D*@$7-hM~9_C*g~jjfbsg7m|NP zbe9H26xQITI0h9+5-RdiRLUw*8Jdq;X#;AHAGh^&IG%b3YO8jmGV?3c8S6unHF-tz z&wkp}n){Szh4)}|d1Plu=KRiendzManKj<3tTun|)x0*p@X~_fX`bS;ilVaoq7v`Q o`yzdOiwldq8;WA1J5N;4?<}lI>)cnf*qd9sE5Q4CU6}v>037%Zh5!Hn delta 5570 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 AiU0rr diff --git a/cps/translations/tr/LC_MESSAGES/messages.po b/cps/translations/tr/LC_MESSAGES/messages.po index 52c93311..2fb74a84 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-04-23 22:47+0300\n" "Last-Translator: iz \n" "Language: tr\n" @@ -16,499 +16,502 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "İstatistikler" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Sunucu yeniden başlatıldı, lütfen sayfayı yeniden yükleyin" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Sunucu kapatıyor, lütfen pencereyi kapatın" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" +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:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Bilinmeyen" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Yönetim sayfası" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Temel Ayarlar" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Arayüz Ayarları" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Tümü" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web yapılandırması güncellendi" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Deneme e-postası gönderilirken bir hata oluştu: %(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "Lütfen önce e-posta adresinizi ayarlayın..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "E-posta sunucusu ayarları güncellendi" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "%(nick)s kullanıcısını düzenle" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "%(user)s kullanıcısının şifresi sıfırlandı" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "Log dosyası görüntüleyici" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Güncelleme paketi isteniyor" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Güncelleme paketi indiriliyor" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Güncelleme paketi ayıklanıyor" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Dosyalar değiştiriliyor" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Veritabanı bağlantıları kapalı" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Sunucu durduruyor" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Güncelleme tamamlandı, sayfayı yenilemek için lütfen Tamam'a tıklayınız" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Güncelleme başarısız:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP Hatası" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Bağlantı hatası" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "Bağlantı kurulmaya çalışırken zaman aşımına uğradı" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Genel hata" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "E-posta sunucusu ayarları güncellendi" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Özellik Yapılandırması" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Lütfen tüm alanları doldurun!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "E-posta izin verilen bir servisten değil" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Yeni kullanıcı ekle" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "'%(user)s' kullanıcısı oluşturuldu" -#: cps/admin.py:1897 +#: cps/admin.py:1919 #, 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Kullanıcı '%(nick)s' silindi" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "Başka yönetici kullanıcı olmadığından silinemedi" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "'%(nick)s' kullanıcısı güncellendi" @@ -521,28 +524,28 @@ msgstr "yüklü değil" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Hiçbiri" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -559,84 +562,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "%(file)s dosyası yüklendi" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 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:326 +#: cps/editbooks.py:327 #, 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:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 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:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s geçerli bir dil değil" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, 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:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "metaveri düzenle" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s dosyası kaydedilemedi." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi" @@ -649,183 +652,186 @@ 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:80 +#: cps/helper.py:81 #, 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:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, 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:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s bulunamadı: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Kindle'a gönder" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "Bu e-Posta Calibre-Web ile gönderilmiştir." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web deneme e-Postası" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Deneme e-Postası" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Calibre-Web'i Kullanmaya Başlayın" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Kullanıcı Kayıt e-Postası: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "%(format)s biçimlerini Kindle'a gönder" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Kindle'a gönder" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "İstenilen dosya okunamadı. Yanlış izinlerden kaynaklanabilir?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "%(file)s dosyası Google Drive'da bulunamadı" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Bu kullanıcı adı zaten alındı" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Keşfet" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -834,7 +840,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "%(provider)s ile Kaydol" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "giriş yaptınız: '%(nickname)s'" @@ -899,9 +905,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Giriş" @@ -917,7 +923,7 @@ msgstr "Token süresi doldu" msgid "Success! Please return to your device" msgstr "Başarılı! Lütfen cihazınıza dönün" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "eKitaplar" @@ -942,7 +948,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "" @@ -951,7 +957,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Okunanlar" @@ -961,7 +967,7 @@ msgid "Show Read and Unread" msgstr "Okunan ve okunmayanları göster" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Okunmamışlar" @@ -979,7 +985,7 @@ msgid "Show Random Books" msgstr "Rastgele Kitap Göster" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Kategoriler" @@ -990,7 +996,7 @@ msgstr "Kategori seçimini göster" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Seriler" @@ -1010,7 +1016,7 @@ msgid "Show Author Section" msgstr "Yazar seçimini göster" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Yayıncılar" @@ -1021,7 +1027,7 @@ msgstr "Yayıncı seçimini göster" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Diller" @@ -1048,7 +1054,7 @@ msgstr "Biçimler" msgid "Show File Formats Section" msgstr "Dosya biçimi seçimini göster" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1057,7 +1063,7 @@ msgstr "" msgid "Show Archived Books" msgstr "Son eKitapları göster" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1065,41 +1071,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Ara" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Yayınlanma (sonra)" -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Yayınlanma (önce)" -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Değerlendirme <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Değerlendirme >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Gelişmiş Arama" @@ -1150,7 +1156,7 @@ msgstr "eKitap kitaplıktan silindi: %(sname)s" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Kitaplık oluştur" @@ -1177,73 +1183,73 @@ msgstr "Metaveri başarıyla güncellendi" msgid "Change order of Shelf: '%(name)s'" msgstr "Kitaplık sıralamasını değiştir: '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "%(title)s kitaplığı oluşturuldu." -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "%(title)s kitaplığı değiştirildi" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Bir hata oluştu" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Kitaplık: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 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" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Görevler" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Bekleniyor" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Başarısız" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Başladı" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Bitti" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Bilinmeyen Durum" @@ -1276,144 +1282,172 @@ msgstr "Yeni bir güncelleme mevcut. Son sürüme güncellemek için aşağıdak msgid "No release information available" msgstr "Sürüm bilgisi mevcut değil" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Keşfet (Rastgele)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "Yazar: %(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Yayınevi: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Seri: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Değerlendirme: %(rating)s yıldız" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Biçim: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Dil: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Değerlendirme listesi" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Biçim listesi" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "%(eReadermail)s'a gönderilmek üzere başarıyla sıraya alındı" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "E-Posta sunucusu ayarlanmadı, lütfen yöneticinizle iletişime geçin!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Kayıt ol" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "E-Posta sunucusu ayarlanmadı, lütfen yöneticinizle iletişime geçin!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "Onay e-Postası hesabınıza gönderildi." -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "giriş yaptınız: '%(nickname)s'" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Yanlış Kullanıcı adı ya da Şifre" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Yeni şifre e-Posta adresinize gönderildi" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "giriş yaptınız: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s Profili" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Profil güncellendi" -#: cps/web.py:1420 +#: cps/web.py:1475 #, fuzzy msgid "Oops! An account already exists for this Email." msgstr "Bu e-posta adresi için bir hesap mevcut." @@ -1473,31 +1507,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "metaveri düzenle" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Yükleme" @@ -1521,7 +1555,7 @@ msgstr "" msgid "Send to eReader Email" msgstr "E-Posta adresiniz" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Yönetim" @@ -1531,8 +1565,8 @@ msgstr "Yönetim" msgid "Password" msgstr "Şifre" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "İndirme" @@ -1676,84 +1710,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Yönetim" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Sürüm" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Detaylar" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Geçerli sürüm" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Güncelle" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "" @@ -1893,12 +1931,12 @@ msgid "Published Date" msgstr "" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Yayınevi" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Dil" @@ -1926,8 +1964,8 @@ msgid "Fetch Metadata" msgstr "" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1950,8 +1988,8 @@ msgstr "Forma metaveri yüklemek için kapağa tıklayın" msgid "Loading..." msgstr "Yükleniyor..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Kapak" @@ -2384,6 +2422,52 @@ msgstr "" msgid "Location of Unrar binary" msgstr "Unrar aracı konumu" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth Ayarları" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Kullanıcı şifresini sıfırla" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Yapılandırmayı Göster" @@ -2396,7 +2480,7 @@ msgstr "" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Tema" @@ -2486,64 +2570,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Okunmadı olarak işaretle" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Okundu olarak işaretle" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Okudum" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Açıklama:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Kitaplığa ekle" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "" @@ -2614,7 +2698,7 @@ msgstr "Servis adı girin" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Sonraki" @@ -2733,7 +2817,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "Biçime göre sıralanmış eKitaplar" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2750,52 +2834,52 @@ msgstr "Anasayfa" msgid "Toggle Navigation" msgstr "" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Hesap" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Çıkış" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Yükleniyor..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Hata" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Yükleme tamamlandı, işleniyor, lütfen bekleyin..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Ayarlar" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Gözat" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Hakkında" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Önceki" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "eKitap Detayları" @@ -2921,11 +3005,11 @@ msgstr "" msgid "epub Reader" msgstr "PDF Okuyucu" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Açık" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Koyu" @@ -2951,111 +3035,124 @@ msgstr "" msgid "Comic Reader" msgstr "PDF Okuyucu" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Klavye Kısayolları" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Önceki Sayfa" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Sonraki Sayfa" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "En İyiye Ölçeklendir" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "Genişliğe Ölçeklendir" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "Yüksekliğe Ölçeklendir" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "Asıla göre ölçeklendir" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Sağa çevir" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Sola çevir" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Resmi döndir" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Yönetim sayfası" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "Ölçeklendir" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "En İyi" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Genişlik" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Yükseklik" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "Asıl" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Çevir" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Döndür" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Yatay" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Dikey" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Yön" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Soldan Sağa" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Sağdan Sola" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "" diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo index 7477286acfe46d6484f65d9a2cbeae30c3af34f8..981b255b2649d2ee96f9c72a8d78852813ae516a 100644 GIT binary patch delta 5205 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 YH8*8&Y-@Gl7@xZAIpbO%&A%D>KeT!zApigX delta 5454 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 diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po index f0199280..bf72365e 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n" "Last-Translator: ABIS Team \n" "Language: uk\n" @@ -15,500 +15,503 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Статистика" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Сервер перезавантажено, будь-ласка, перезавантажте сторінку" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Виконується зупинка серверу, будь-ласка, закрийте вікно" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Невідома команда" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" +#: cps/admin.py:169 +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Невідомий" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Сторінка адміністратора" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Настройки сервера" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Конфігурація інтерфейсу" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 #, fuzzy msgid "Edit Users" msgstr "Керування сервером" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Всі" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Користувача не знайдено" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} користувачі видалені успішно" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Показати всі" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Не правильна роль" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:611 +#: cps/admin.py:613 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:624 +#: cps/admin.py:626 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Заборонити" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Дозволити" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Тег не знайдено" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Змінити налаштування SMTP" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Змінити користувача %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP" -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "Перевірка оновлень" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "Завантаження оновлень" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Розпакування оновлення" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "Заміна файлів" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Сервер зупиняється" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Оновлення неуспішне:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP помилка" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Помилка зʼєднання" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Помилка" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:1850 +#: cps/admin.py:1872 #, fuzzy msgid "Database Configuration" msgstr "Особливі налаштування" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Будь-ласка, заповніть всі поля!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Додати користувача" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Користувач '%(user)s' додан" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Користувача '%(nick)s' видалено" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Користувача '%(nick)s' оновлено" @@ -521,28 +524,28 @@ msgstr "не встановлено" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "Ні" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу." -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -559,84 +562,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "Завантажувальний файл повинен мати розширення" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "змінити метадані" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -649,180 +652,183 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Домен зворотнього зв'язку не підтверджено. Виконайте дії для підтвердження домену, будь-ласка" -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Відправити на Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Надіслати %(format)s до E-Reader" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "Відправити на Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:565 +#: cps/helper.py:562 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Огляд" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -831,7 +837,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "Ви увійшли як користувач: '%(nickname)s'" @@ -896,9 +902,9 @@ msgstr "" msgid "{} Stars" msgstr "{} зірок" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Ім'я користувача" @@ -914,7 +920,7 @@ msgstr "Час дії токено вичерпано" msgid "Success! Please return to your device" msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Книжки" @@ -939,7 +945,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Книги з найкращим рейтингом" @@ -948,7 +954,7 @@ msgid "Show Top Rated Books" msgstr "Показувати книги з найвищим рейтингом" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Прочитані книги" @@ -958,7 +964,7 @@ msgid "Show Read and Unread" msgstr "Показувати прочитані та непрочитані книги" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Непрочитані книги" @@ -976,7 +982,7 @@ msgid "Show Random Books" msgstr "Показувати випадкові книги" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Категорії" @@ -987,7 +993,7 @@ msgstr "Показувати вибір категорії" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Серії" @@ -1007,7 +1013,7 @@ msgid "Show Author Section" msgstr "Показувати вибір автора" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Видавництва" @@ -1018,7 +1024,7 @@ msgstr "Показувати вибір серії" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Мови" @@ -1045,7 +1051,7 @@ msgstr "Формати файлів" msgid "Show File Formats Section" msgstr "Показувати вибір серії" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Архівні книжки" @@ -1054,7 +1060,7 @@ msgstr "Архівні книжки" msgid "Show Archived Books" msgstr "Архівні книжки" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Список книжок" @@ -1062,41 +1068,41 @@ msgstr "Список книжок" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Пошук" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Опубліковані після " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Опубліковано до " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Рейтинг <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Рейтинг >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Розширений пошук" @@ -1147,7 +1153,7 @@ msgstr "Книга видалена з книжкової полиці: %(sname) msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "створити книжкову полицю" @@ -1173,73 +1179,73 @@ msgstr "" msgid "Change order of Shelf: '%(name)s'" msgstr "Змінити розташування книжкової полиці '%(name)s'" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Створена книжкова полиця %(title)s" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Книжкова полиця %(title)s змінена" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Сталась помилка" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "Книжкова полиця: '%(name)s'" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Помилка при відкриванні полиці. Полиця не існує або до неї відсутній доступ" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Завдання" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Очікує" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Розпочато" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Завершено" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "Закінчено" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "Відмінено" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Невідомий статус" @@ -1272,144 +1278,169 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "Огляд (випадкові книги)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "Популярні книги (найбільш завантажувані)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "Видавництво: %(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "Серії: %(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "Рейтинг: Відсутній" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "Рейтинг: %(rating)s зірок" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "Формат файлу: %(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "Категорія: %(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "Мова: %(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Завантаження" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Список рейтингів" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Список форматів файлу" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP" -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "Помилка при відправці книги: %(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Зареєструватись" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" +msgstr "" + +#: cps/web.py:1344 +msgid "Please wait one minute before next login" msgstr "" -#: cps/web.py:1303 +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Ви увійшли як користувач: '%(nickname)s'" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Помилка в імені користувача або паролі" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" +msgstr "Помилка в імені користувача або паролі" + +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "Ви увійшли як користувач: '%(nickname)s'" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "Профіль %(name)s" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Профіль оновлено" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "" @@ -1468,31 +1499,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "змінити метадані" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Додати нову книгу" @@ -1516,7 +1547,7 @@ msgstr "" msgid "Send to eReader Email" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Адмін" @@ -1526,8 +1557,8 @@ msgstr "Адмін" msgid "Password" msgstr "Пароль" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Завантажити" @@ -1671,84 +1702,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Адміністрування" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Переглянути логи" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Перезавантажити" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Вимкнути" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "Інформація про версію" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Версія" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Деталі" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Поточна версія" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Перевірка оновлень" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Встановити оновлення" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "Впевнені що хочете перезавантажити?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Скасувати" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Встановлення оновлень, будь-ласка, не оновлюйте сторінку" @@ -1888,12 +1923,12 @@ msgid "Published Date" msgstr "Опубліковано" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Видавець" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Мова" @@ -1921,8 +1956,8 @@ msgid "Fetch Metadata" msgstr "Отримати метадані" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1945,8 +1980,8 @@ msgstr "Натисніть на обкладинку, щоб отримати м msgid "Loading..." msgstr "Завантаження..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Закрити" @@ -2378,6 +2413,52 @@ msgstr "" msgid "Location of Unrar binary" msgstr "" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Налаштування OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Скинути пароль користувача" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "Переглянути налаштування" @@ -2390,7 +2471,7 @@ msgstr "Кількість показаних випадкових книг" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "Тема" @@ -2481,64 +2562,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Відкрити в браузері" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Прослухати в браузері" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Опубліковано" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Відмітити як не прочитане" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Відмітити як прочитане" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Прочитано" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Відновити з архіву" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Додати в архів" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Заархівовано" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Опис:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Додати на книжкову полицю" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Публічно)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Редагувати метадані" @@ -2609,7 +2690,7 @@ msgstr "Введіть домен" msgid "Denied Domains (Blacklist)" msgstr "Заборонені домени (Чорний список)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Далі" @@ -2727,7 +2808,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2744,52 +2825,52 @@ msgstr "" msgid "Toggle Navigation" msgstr "Включити навігацію" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Вийти" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Завантаження..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Помилка" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Налаштування" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Перегляд" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "Про програму" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Попередній перегляд" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Деталі" @@ -2914,11 +2995,11 @@ msgstr "" msgid "epub Reader" msgstr "" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "" @@ -2943,111 +3024,124 @@ msgstr "" msgid "Comic Reader" msgstr "" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 -msgid "Scale to Best" +msgid "Long Strip Display" msgstr "" #: cps/templates/readcbr.html:98 -msgid "Scale to Width" +msgid "Scale to Best" msgstr "" #: cps/templates/readcbr.html:99 -msgid "Scale to Height" +msgid "Scale to Width" msgstr "" #: cps/templates/readcbr.html:100 -msgid "Scale to Native" +msgid "Scale to Height" msgstr "" #: cps/templates/readcbr.html:101 -msgid "Rotate Right" +msgid "Scale to Native" msgstr "" #: cps/templates/readcbr.html:102 -msgid "Rotate Left" +msgid "Rotate Right" msgstr "" #: cps/templates/readcbr.html:103 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Сторінка адміністратора" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Краще" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Ширина" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Висота" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Повернути" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Вертикально" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Напрям" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Показати" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Сховати" diff --git a/cps/translations/vi/LC_MESSAGES/messages.mo b/cps/translations/vi/LC_MESSAGES/messages.mo index 193d77d11b5af3853a29b6241e0a5278e7fb9d87..57ef1015d8e265de050e6c0425d901c471850d26 100644 GIT binary patch delta 7393 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 diff --git a/cps/translations/vi/LC_MESSAGES/messages.po b/cps/translations/vi/LC_MESSAGES/messages.po index ba507e62..22972ef8 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2022-09-20 21:36+0700\n" "Last-Translator: Ha Link \n" "Language: vi\n" @@ -13,493 +13,496 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "Thống kê" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "Máy chủ đã khởi động lại,hãy tải lại trang" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "Máy chủ đang được tắt, hãy đóng cửa sổ này" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "Lệnh không tồn tại" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" +#: cps/admin.py:169 +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "Không rõ" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "Trang admin" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "Thiết lập cơ bản" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "Thiết lập UI" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "Chỉnh sửa người dùng" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "Tất cả" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "Không tìm thấy user" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "{} người dung đã đươc xoá thành công" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Hiển thị tất cả" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "Yêu cầu không đúng định dạng" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "Tên người dung khách không thể thay đổi" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "Khách không thể mang vai trò này" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 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" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "Giá trị phải là true hoặc false" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "Vai trò không hợp lệ" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "Tài khoản khách không có màn hình này" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "View không hợp lệ" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Ngôn ngữ của khách được xác định tự động và không thể đặt được" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "Địa chỉ cung cấp không hợp lệ" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "Ngôn ngữ sách không hợp lệ" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "Tham số không tồn tại" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "Cột đọc không hợp lệ" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "Cột bị hạn chế không hợp lệ" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Thiết lập Calibre-Web đã cập nhật" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "Bạn có thực sự muốn xóa Kobo Token không?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "Bạn có thực sự muốn xóa miền này không?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "Bạn có thực sự muốn xóa người dùng này không?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "Bạn có chắc chắn muốn xóa giá này không?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi ngôn ngữ của những người dùng đã chọn?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi ngôn ngữ sách hiển thị cho (những) người dùng đã chọn không?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi vai trò đã chọn cho (những) người dùng đã chọn không?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi những giới hạn đã chọn cho người dung?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi các giới hạn hiển thị đã chọn cho (những) người dùng đã chọn không?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi hành vi đồng bộ hóa giá cho (những) người dùng đã chọn không?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "Bạn có chắc chắn muốn thay đổi vị trí thư viện Calibre không?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Bạn có chắc chắn muốn xóa cơ sở dữ liệu đồng bộ của Calibre-Web để bắt buộc đồng bộ hóa hoàn toàn với Kobo Reader của mình không?" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Từ chối" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Cho phép" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} mục nhập đồng bộ hóa đã bị xóa" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "Tag không tồn tại" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "Hành động không hợp lệ" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Vị trí tệp nhật ký không hợp lệ, vui lòng nhập đường dẫn chính xác" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "Thêm người dùng mới" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Lỗi cơ sở dữ liệu: %(error)s." -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 #, fuzzy msgid "Scheduled tasks settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 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." -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "Chỉnh sửa người dùng %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1429 +#: cps/admin.py:1436 msgid "Oops! Please configure the SMTP mail settings." msgstr "" -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "Đang giải nén tệp cập nhật" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "They thế tập tin" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "Liên kết cơ sở dữ liệu đã được đóng" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "Đang dừng server" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "Cập nhật hoàn tất, ấn okay và tải lại trang" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "Cập nhật thất bại:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "Lỗi HTTP" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "Lỗi kết nối" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "Lỗi chung" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "File cập nhật không thể được lưu trong thư mục tạm thời" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "Thiết lập cơ sở dữ lieu :)))" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "Hãy điền hết các trường!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "Địa chỉ email không hợp lệ" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "Thêm người dùng mới" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "Người dùng '%(user)s' đã được tạo" -#: cps/admin.py:1897 +#: cps/admin.py:1919 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:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "Người dùng '%(nick)s' đã bị xoá" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "Không thể xoá người dùng khách" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "Người dùng '%(nick)s' đã được cập nhật" @@ -512,28 +515,28 @@ msgstr "chưa cài đặt" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "None" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -550,84 +553,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "File %(file)s đã được tải lên" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "Thiếu định dạng nguồn hoặc đích để convert" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, 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:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, 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:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "Lưu file thất bại %(file)s." -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -640,184 +643,187 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s không tìm thấy: %(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "Gửi tới Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "E-mail này được gửi từ Calibre-Web." -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web test e-mail" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "Test e-mail" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "Bắt đầu với Calibre-Web" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "Email đăng ký cho người dùng: %(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, 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:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "Gửi %(format)s tới Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s gửi tới Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 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:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, 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:374 +#: cps/helper.py:371 #, 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:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, 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:565 +#: cps/helper.py:562 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, 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:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "Username này đã bị sử dụng" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "Định dạng email address không hợp lệ" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "Lỗi tải xuống ảnh bìa" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "Định dạng ảnh bìa lỗi" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "Tạo đường dẫn cho ảnh bìa thất bại" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "Khám phá" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Thiết lập Kobo" @@ -826,7 +832,7 @@ msgstr "Thiết lập Kobo" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "" @@ -891,9 +897,9 @@ msgstr "Google Oauth lỗi: {}" msgid "{} Stars" msgstr "{} sao" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "Đăng nhập" @@ -909,7 +915,7 @@ msgstr "Token đã hết hạn" msgid "Success! Please return to your device" msgstr "Thành công! Hãy quay lại thiết bị của bạn" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "Sách" @@ -934,7 +940,7 @@ msgstr "Sách đã tải" msgid "Show Downloaded Books" msgstr "Hiển thị sách đã tải" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "Top sách được đánh giá cao" @@ -943,7 +949,7 @@ msgid "Show Top Rated Books" msgstr "Hiện thị top những sách được đánh giá cao" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "Sách đã đọc" @@ -953,7 +959,7 @@ msgid "Show Read and Unread" msgstr "Hiển thị đã đọc và chưa đọc" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "Sách chưa đọc" @@ -971,7 +977,7 @@ msgid "Show Random Books" msgstr "Hiển thị sách ngẫu nhiên" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "Chủ đề" @@ -982,7 +988,7 @@ msgstr "Hiển thị chọn chủ đề" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "Series" @@ -1002,7 +1008,7 @@ msgid "Show Author Section" msgstr "Hiển thị chọn tác giả" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "Nhà phát hành" @@ -1013,7 +1019,7 @@ msgstr "Hiển thị chọn nhà phát hành" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "Ngôn ngữ" @@ -1040,7 +1046,7 @@ msgstr "Định dạng file" msgid "Show File Formats Section" msgstr "Hiển thị lựa chọn định dạng file" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "Sách đã lưu trữ" @@ -1049,7 +1055,7 @@ msgstr "Sách đã lưu trữ" msgid "Show Archived Books" msgstr "Hiện thị sách trong kho" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "Danh sách sách" @@ -1057,41 +1063,41 @@ msgstr "Danh sách sách" msgid "Show Books List" msgstr "Hiển thị danh sách sách" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "Tìm kiếm" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "Phát hành sau " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "Phát hành trước " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "Đánh giá <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "Đánh giá >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "Trạng thái đọc = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "Tìm kiếm nâng cao" @@ -1141,7 +1147,7 @@ msgstr "Sách đã được xoá khỏi giá: %(sname)s" 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:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "Tạo một giá sách" @@ -1166,74 +1172,74 @@ msgstr "" msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:313 +#: cps/shelf.py:316 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:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "Giá sách %(title)s đã được tạo" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "Giá sách %(title)s đã được thay đổi" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "Có lỗi xảy ra" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "Nhiệm vụ" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "Đang chờ" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "Thất bại" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "Đã bắt đầu" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "Đã hoàn thành" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 #, fuzzy msgid "Cancelled" msgstr "Huỷ bỏ" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "Trạng thái không xác định" @@ -1266,145 +1272,171 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:616 +#: cps/web.py:620 #, fuzzy msgid "Rating: None" msgstr "Đánh giá cao hơn" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "Tải xuống" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "Danh sách đánh giá" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "Danh sách định dạng file" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "Đăng ký" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "Email của bạn không được cho phép để đăng ký" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" +msgstr "" + +#: cps/web.py:1344 +msgid "Please wait one minute before next login" msgstr "" -#: cps/web.py:1303 +#: cps/web.py:1360 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "you are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1367 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgstr "" + +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "Không thể đăng nhập: %(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "Tên đăng nhập hoặc mật khẩu không đúng" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "Mật khẩu mới đã được gửi đến email của bạn" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "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." + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" +msgstr "Tên đăng nhập hoặc mật khẩu không đúng" + +#: cps/web.py:1397 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "Metadata đã được cập nhật thành công" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "Tìm thấy một tài khoản đã toàn tại cho địa chỉ email này" @@ -1466,30 +1498,30 @@ 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:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "Tải lên" @@ -1513,7 +1545,7 @@ msgstr "Địa chỉ email" msgid "Send to eReader Email" msgstr "Kindle" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "Admin" @@ -1523,8 +1555,8 @@ msgstr "Admin" msgid "Password" msgstr "Mật khẩu" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "Tải xuống" @@ -1668,86 +1700,90 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 #, fuzzy msgid "Reconnect Calibre Database" msgstr "Kết nối lại với cơ sở dữ liệu Calibre" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "Quản trị" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "Tải xuống package debug" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "Xem logs" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "Khởi động lại" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "Tắt" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 #, fuzzy msgid "Version Information" msgstr "Thiết lập máy chủ" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "Phiên bản" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "Chi tiết" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "Phiên bản hiện tại" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "Kiểm tra cập nhật" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "Bắt đầu cập nhật" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 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:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "Ok" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "Huỷ bỏ" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "Bạn có chắc muốn tắt?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "Đang update, làm ơn đừng load lại trang này" @@ -1887,12 +1923,12 @@ msgid "Published Date" msgstr "Ngày xuất bản" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "Nhà xuất bản" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "Ngôn ngữ" @@ -1920,8 +1956,8 @@ msgid "Fetch Metadata" msgstr "Fetch Metadata" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1943,8 +1979,8 @@ msgstr "Ấn vào ảnh cover để tải metadata vào form" msgid "Loading..." msgstr "Đang tải..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "Đóng" @@ -2375,6 +2411,52 @@ msgstr "" msgid "Location of Unrar binary" msgstr "" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "Thiết lập OAuth" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "Reset mật khẩu người dùng" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "" @@ -2387,7 +2469,7 @@ msgstr "" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "" @@ -2476,64 +2558,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "Thêm cho phép/từ chối giá trị cột tuỳ biến" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "Đọc trên trình duyệt" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "Nghe trên trình duyệt" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "Sách %(index)s của %(range)s" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "Đã phát hành" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "Đánh dấu chưa đọc" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "Đánh dấu đã đọc" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "Đọc" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "Khôi phục từ lưu trữ" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "Thêm vào lưu trữ" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "Lưu trữ" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "Mô tả:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "Thêm vào giá sách" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(Công khai)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "Chỉnh sửa Metadata" @@ -2606,7 +2688,7 @@ msgstr "Nhập tên domain" msgid "Denied Domains (Blacklist)" msgstr "Domain bị từ chối (Blacklist)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "Tiếp tục" @@ -2725,7 +2807,7 @@ msgstr "Sách sắp xếp theo xếp hạng" msgid "Books ordered by file formats" msgstr "Sách sắp xếp theo định dạng" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "Giá sách" @@ -2742,52 +2824,52 @@ msgstr "Trang chủ" msgid "Toggle Navigation" msgstr "" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "Tìm kiếm thư viện" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "Tài khoản" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "Đăng suất" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "Đang tải lên..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "Lỗi" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "Tải lên xong, đang xử lý, đợi chút ..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "Thiết lập" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "Làm ơn đừng load lại trang" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "Tìm kiếm" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "About" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "Trước" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "Chi tiết sách" @@ -2911,11 +2993,11 @@ msgstr "" msgid "epub Reader" msgstr "trình đọc epub" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "Sáng" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "Tối" @@ -2940,111 +3022,124 @@ msgstr "" msgid "Comic Reader" msgstr "Trình đọc truyện tranh" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "Phím tắt" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "Trang trước" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "Trang tiếp theo" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 -msgid "Scale to Best" +msgid "Long Strip Display" msgstr "" #: cps/templates/readcbr.html:98 -msgid "Scale to Width" +msgid "Scale to Best" msgstr "" #: cps/templates/readcbr.html:99 -msgid "Scale to Height" +msgid "Scale to Width" msgstr "" #: cps/templates/readcbr.html:100 -msgid "Scale to Native" +msgid "Scale to Height" msgstr "" #: cps/templates/readcbr.html:101 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "Xoay phải" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "Xoay trái" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "Lật ảnh" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "Trang admin" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "Tốt nhất" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "Rộng" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "Cao" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "Xoay" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "Lật" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "Ngang" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "Dọc" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "Hướng" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "Trái sang phải" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "Phải sang trái" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "Quay lên trên" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "Ghi nhớ vị trí" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "Thanh cuộn" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "Hiện" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "Ẩn" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index cc36da23661b7502df6ffdfd06edd346df122bc5..2d96bdedc966921aac6430f4aba794b93c196d46 100644 GIT binary patch delta 12703 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 delta 13438 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 Xyp_9Luh;kQ$?kiiV(tqk9uD~rchXY~ diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 21fd7c1e..31793fc4 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_CN\n" @@ -16,490 +16,494 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "统计" -#: cps/admin.py:143 +#: cps/admin.py:145 msgid "Server restarted, please reload page." msgstr "服务器已重启,请刷新页面" -#: cps/admin.py:145 +#: cps/admin.py:147 msgid "Performing Server shutdown, please close window." msgstr "正在关闭服务器,请关闭窗口" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "数据库重新连接成功" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" -msgstr "书籍成功加入元数据备份队列" +#: cps/admin.py:169 +#, fuzzy +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" +msgstr "发送给 %(email)s 的测试邮件已加入队列。请检查任务结果" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "未知" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "管理页" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "基本配置" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "界面配置" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "管理用户" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "全部" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "找不到用户" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "成功删除 {} 个用户" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "显示全部" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "格式错误的请求" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "访客名称无法更改" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "游客无法拥有此角色" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "没有其余管理员账户,无法删除管理员角色" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "值必须为 true 或 false" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "无效角色" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "游客无法查看此页面" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "无效页面" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "无法设置游客的本地化,该项设置的值将自动检测" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "无可用本地化" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "无有效书籍语言" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "参数未找到" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "无效的阅读栏目" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "无效的限制栏目" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 配置已更新" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "您确定删除 Kobo 令牌吗?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "您确定要删除此域吗?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "您确定要删除此用户吗?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "您确定要删除此书架吗?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您确定要修改选定用户的本地化设置吗?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "您确定要修改选定用户的可见书籍语言吗?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "您确定要修改选定用户的选定角色吗?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "您确定要修改选定用户的选定限制吗?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "您确定要修改选定用户的选定可视化限制吗?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "您确定要更改所选用户的书架同步行为吗?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "您确定要更改 Calibre 库位置吗?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web 将搜索更新封面,并更新缩略图,这可能需要一段时间" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "您确定要删除 Calibre-Web 的同步数据库以强制与您的 Kobo Reader 进行完全同步吗" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒绝" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "允许" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "{} 同步项目被删除" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "标签未找到" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "无效的动作" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未为 Web 应用程序配置" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "日志文件路径无效,请输入正确的路径" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "访问日志路径无效,请输入正确的路径" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "请输入 LDAP 主机、端口、DN 和用户对象标识符" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "请输入一个 LDAP 服务账号和密码 " -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "请输入一个 LDAP 服务账号" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP 组对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP 组对象过滤器的括号不匹配" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 用户对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP 用户对象过滤器的括号不匹配" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 成员用户过滤器需要有一个“%s”格式标识符" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP 成员用户过滤器中有不匹配的括号" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA证书、证书或密钥位置无效,请输入正确的路径" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "添加新用户" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "编辑邮件服务器设置" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "Gmail 账户验证成功" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "数据库错误:%(error)s" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "发送给 %(email)s 的测试邮件已加入队列。请检查任务结果" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "发送测试邮件时出错:%(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "请先配置您的邮箱地址..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "邮件服务器设置已更新" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "编辑计划任务设置" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "指定任务的开始时间无效" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "指定任务的持续时间无效" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "已更新计划任务设置" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "设置数据库不可写" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "用户 %(user)s 的密码已重置" -#: cps/admin.py:1429 +#: cps/admin.py:1436 msgid "Oops! Please configure the SMTP mail settings." msgstr "请先配置 SMTP 邮箱设置..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "日志文件查看器" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "正在请求更新包" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "正在下载更新包" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "正在解压更新包" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "正在替换文件" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "数据库连接已关闭" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "正在停止服务器" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "更新完成,请点击确定并刷新页面" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "更新失败:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP 错误" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "连接错误" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "建立连接超时" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "一般错误" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "更新文件无法保存在临时目录中" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "更新期间无法替换文件" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "未能获得任何 LDAP 用户" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "未能创建任何 LDAP 用户" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "错误:%(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "错误:在 LDAP 服务器的响应中没有返回用户" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "数据库中没有找到任何 LDAP 用户" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} 用户被成功导入" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "数据库路径无效,请输入正确的路径" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "数据库不可写入" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密钥文件路径无效,请输入正确的路径" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "证书文件路径无效,请输入正确的路径" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "数据库设置已更新" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "数据库配置" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "请填写所有字段!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "邮箱不在有效域中" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "添加新用户" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "用户“%(user)s”已创建" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此邮箱或用户名的账号已经存在" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户“%(nick)s”已删除" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "无法删除游客用户" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "管理员账户不存在,无法删除用户" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "电子邮件地址不能为空,并且必须是有效的电子邮件" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "用户“%(nick)s”已更新" @@ -512,28 +516,28 @@ msgstr "未安装" msgid "Execution permissions missing" msgstr "缺少执行权限" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "自定义列号:%(column)d 在 Calibre 数据库中不存在" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "无" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "用户没有权限上传封面" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "标识符不区分大小写,覆盖旧标识符" @@ -550,84 +554,84 @@ msgstr "编辑书籍时出错: {}" msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上传" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "转换的源格式或目的格式缺失" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "书籍已经被成功加入 %(book_format)s 格式转换队列" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "转换此书籍时出现错误: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上传的书籍可能已经存在,建议修改后重新上传: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' 不是一种有效语言" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须具有扩展名" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 无法保存到临时目录" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移动封面文件失败 %(file)s:%(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "书籍的此格式副本已成功删除" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "书籍已成功删除" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "您没有删除书籍的权限" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "编辑元数据" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一个有效的数值,忽略" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "用户没有权限上传其他文件格式" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "创建路径 %(path)s 失败 (权限不足)" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -640,178 +644,181 @@ 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:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到 ID 为 %(book)d 的书籍的 %(format)s 格式" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "发送到电子阅读器" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "此邮件已经通过 Calibre-Web 发送" -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "Calibre-Web 测试邮件" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "测试邮件" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "开启 Calibre-Web 之旅" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "用户注册电子邮件:%(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "转换 %(orig)s 到 %(format)s 并发送到电子阅读器" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, python-format msgid "Send %(format)s to eReader" msgstr "发送 %(format)s 到电子阅读器" -#: cps/helper.py:225 +#: cps/helper.py:222 #, python-format msgid "%(book)s send to eReader" msgstr "%(book)s 发送到电子阅读器" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "无法读取请求的文件。可能有错误的权限设置?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "阅读状态无法设置: {}" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "删除书的文件夹 %(id)s 失败,路径有子文件夹:%(path)s" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "删除书籍 %(id)s 失败:%(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive 上找不到文件 %(file)s" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "重命名此路径: {}文件时出错" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive 上找不到书籍路径 %(path)s" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "已存在使用此邮箱的账户" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "此用户名已被使用" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "无效的邮箱格式" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "上传封面所需的 Python 模块 'advocate' 未安装" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "下载封面时出错" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "封面格式出错" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "您没有访问本地主机或本地网络进行封面上传" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "创建封面路径失败" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的图片文件,或者无法存储它" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持 jpg、jpeg、png、webp、bmp 文件" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "封面文件内容无效" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "仅将 jpg、jpeg 文件作为封面文件" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "找不到 Unrar 执行文件" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "执行 UnRar 时出错" -#: cps/helper.py:1040 +#: cps/helper.py:1078 msgid "Cover" msgstr "封面" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "将所有书籍加入元数据备份队列" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "请不要从 localhost 访问 Calibre-Web,以便 Kobo 设备能获取有效的 api_endpoint" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo 设置" @@ -820,7 +827,7 @@ msgstr "Kobo 设置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 注册" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "您现在已以“%(nickname)s”身份登录" @@ -885,9 +892,9 @@ msgstr "Google Oauth 错误: {}" msgid "{} Stars" msgstr "{} 星" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "登录" @@ -903,7 +910,7 @@ msgstr "令牌已过期" msgid "Success! Please return to your device" msgstr "成功!请返回您的设备" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "书籍" @@ -928,7 +935,7 @@ msgstr "已下载书籍" msgid "Show Downloaded Books" msgstr "显示下载过的书籍" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "最高评分书籍" @@ -937,7 +944,7 @@ msgid "Show Top Rated Books" msgstr "显示最高评分书籍" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "已读书籍" @@ -946,7 +953,7 @@ msgid "Show Read and Unread" msgstr "显示已读或未读状态" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "未读书籍" @@ -964,7 +971,7 @@ msgid "Show Random Books" msgstr "显示随机书籍" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "分类" @@ -974,7 +981,7 @@ msgstr "显示分类栏目" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "丛书" @@ -992,7 +999,7 @@ msgid "Show Author Section" msgstr "显示作者栏目" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "出版社" @@ -1002,7 +1009,7 @@ msgstr "显示出版社栏目" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "语言" @@ -1026,7 +1033,7 @@ msgstr "文件格式" msgid "Show File Formats Section" msgstr "显示文件格式栏目" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "归档书籍" @@ -1034,7 +1041,7 @@ msgstr "归档书籍" msgid "Show Archived Books" msgstr "显示归档书籍" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "书籍列表" @@ -1042,41 +1049,41 @@ msgstr "书籍列表" msgid "Show Books List" msgstr "显示书籍列表" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "搜索" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "出版时间晚于 " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "出版时间早于 " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "评分 <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "评分 >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "阅读状态 = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "搜索自定义栏目时出错,请重启 Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "高级搜索" @@ -1126,7 +1133,7 @@ msgstr "此书已从书架 %(sname)s 中删除" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "抱歉,您没有从这个书架删除书籍的权限" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "创建书架" @@ -1151,73 +1158,73 @@ msgstr "书架已成功删除" msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 %(name)s 顺序" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "抱歉,您没有创建公开书架的权限" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "书架 %(title)s 已创建" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "书架 %(title)s 已修改" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "发生错误" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共书架:%(title)s 已经存在已经存在" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "私有书架:%(title)s 已经存在已经存在" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架:%(name)s" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架不存在或不可访问" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "任务列表" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "等待中" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "失败" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "已开始" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "已完成" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "已结束" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "已取消" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "未知状态" @@ -1250,143 +1257,171 @@ msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s" msgid "No release information available" msgstr "无可用发布信息" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "发现 (随机书籍)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "热门书籍(最多下载)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下载过的书籍" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "丛书:%(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "评分:无" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "评分:%(rating)s 星" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "文件格式:%(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "分类:%(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "语言:%(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "下载次数" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "评分列表" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "文件格式列表" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "请先配置 SMTP 邮箱设置..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "书籍已经成功加入 %(eReadermail)s 的发送队列" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "请先配置您的 Kindle 邮箱" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "邮件服务未配置,请联系网站管理员!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "注册" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "邮件服务未配置,请联系网站管理员!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "您的电子邮件不允许注册" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "确认邮件已经发送到您的邮箱" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "无法激活 LDAP 认证" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "您现在已以“%(nickname)s”身份登录" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "后备登录“%(nickname)s”:无法访问 LDAP 服务器,或用户未知" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "无法登录:%(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "用户名或密码错误" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "新密码已发送到您的邮箱" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "发生一个未知错误,请稍后再试" + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "请输入有效的用户名进行密码重置" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "您现在已以“%(nickname)s”身份登录" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s 的用户配置" -#: cps/web.py:1416 +#: cps/web.py:1471 msgid "Success! Profile Updated" msgstr "资料已更新" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "使用此邮箱的账号已经存在" @@ -1445,30 +1480,30 @@ msgstr "正在重新连接到 Calibre 数据库" msgid "E-mail" msgstr "电子邮件" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "正在备份元数据" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "生成了 %(count)s 个封面缩略图" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "封面缩略图" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "生成了 %(count)s 个丛书缩略图" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "正在清理封面缩略图缓存" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "上传书籍" @@ -1491,7 +1526,7 @@ msgstr "邮箱地址" msgid "Send to eReader Email" msgstr "接收书籍的电子阅读器邮箱地址" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理权限" @@ -1501,8 +1536,8 @@ msgstr "管理权限" msgid "Password" msgstr "密码" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "下载书籍" @@ -1645,84 +1680,88 @@ msgstr "生成书籍封面缩略图" msgid "Generate series cover thumbnails" msgstr "生成丛书封面缩略图" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "重新连接到 Calibre 库" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "刷新封面缩略图缓存" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "管理" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "下载 Debug 包" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "查看日志文件" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "重启" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "停止" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "版本信息" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "版本" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "详情" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "当前版本" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "检查更新" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "执行更新" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "您确定要重启吗?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "确定" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "取消" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "您确定要关闭吗?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "正在更新,请不要刷新页面" @@ -1862,12 +1901,12 @@ msgid "Published Date" msgstr "出版日期" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "语言" @@ -1895,8 +1934,8 @@ msgid "Fetch Metadata" msgstr "获取元数据" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1918,8 +1957,8 @@ msgstr "单击封面将元数据加载到表单" msgid "Loading..." msgstr "加载中..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "关闭" @@ -2350,6 +2389,52 @@ msgstr "KEpubify 电子书转换器路径" msgid "Location of Unrar binary" msgstr "Unrar 程序路径" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth 设置" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "重置用户密码" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "查看配置" @@ -2362,7 +2447,7 @@ msgstr "随机书籍显示数量" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "主页中书籍作者的最大显示数量(0=不隐藏)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "主题" @@ -2451,64 +2536,64 @@ msgstr "添加显示或隐藏书籍的标签值" msgid "Add Allowed/Denied custom column values" msgstr "添加显示或隐藏书籍的自定义栏目值" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "在线阅读" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "在线听书" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "%(range)s 第 %(index)s 册" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "出版日期" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "标为未读" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "标为已读" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "已读" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "从档案还原" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "添加到归档" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "归档" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "简介:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "添加到书架" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(公共)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "编辑元数据" @@ -2578,7 +2663,7 @@ msgstr "输入域名" msgid "Denied Domains (Blacklist)" msgstr "禁止注册的域名(黑名单)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "下一个" @@ -2696,7 +2781,7 @@ msgstr "书籍按评分排序" msgid "Books ordered by file formats" msgstr "书籍按文件格式排序" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "书架列表" @@ -2713,52 +2798,52 @@ msgstr "首页" msgid "Toggle Navigation" msgstr "切换导航" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "搜索书库" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "账号" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "注销" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "正在上传..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "错误" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "上传完成,正在处理,请稍候..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "设置" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "请不要刷新页面" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "按条件浏览" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "关于" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "上一个" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "书籍详情" @@ -2882,11 +2967,11 @@ msgstr "Caliebre-Web 电子书路径" msgid "epub Reader" msgstr "epub 阅读器" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "浅色" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "深色" @@ -2910,111 +2995,124 @@ msgstr "字体大小" msgid "Comic Reader" msgstr "Comic 阅读器" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "快捷键" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "上一页" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "下一页" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "缩放到最佳" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "按宽度缩放" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "按高度缩放" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "缩放到原始大小" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "向右旋转" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "向左旋转" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "翻转图片" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "管理页" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "缩放" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "最佳" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "宽度" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "高度" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "原始" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "旋转" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "翻转" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "水平" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "垂直" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "方向" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "从左到右" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "从右到左" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "重置为顶部" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "记住位置" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "工具栏" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "显示" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "隐藏" diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo index 8fbed7cfcd348cb1dcff64620942c2eb3aa0994f..c3b37a2fb055a07e8308f73af671e68e718f8258 100644 GIT binary patch delta 10886 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 delta 11614 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 OEa_$|sl20W_z diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po index 16b841bb..044bb999 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-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_TW\n" @@ -16,496 +16,499 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "統計" -#: cps/admin.py:143 +#: cps/admin.py:145 #, fuzzy msgid "Server restarted, please reload page." msgstr "服務器已重啟,請刷新頁面" -#: cps/admin.py:145 +#: cps/admin.py:147 #, fuzzy msgid "Performing Server shutdown, please close window." msgstr "正在關閉服務器,請關閉窗口" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:167 +#: cps/admin.py:169 #, fuzzy -msgid "Success! Books queued for Metadata Backup" -msgstr "書籍已經成功加入 %(eReadermail)s 的發送隊列" +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" +msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "未知" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "管理頁" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "基本配置" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "界面配置" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "管理用戶" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "全部" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "找不到用戶" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "成功刪除 {} 個用戶" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "顯示全部" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "格式錯誤的請求" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "訪客名稱無法更改" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "遊客無法擁有此角色" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "管理員賬戶不存在,無法刪除管理員角色" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "值必須是 true 或 false" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "無效角色" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "遊客無法擁有此視圖" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "無效視圖" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "訪客的本地化是自動偵測而無法設置的" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "無可用本地化" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "無有效書籍語言" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "參數未找到" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "無效的閱讀列" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "無效的限制列" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "您確定刪除Kobo Token嗎?" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "您確定要刪除此網域嗎?" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "您確定要刪除此用戶嗎?" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "您確定要刪除此書架嗎?" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您確定要修改選定用戶的本地化設置嗎?" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "您確定要修改選定用戶的可見書籍語言嗎?" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "您確定要修改選定用戶的選定角色嗎?" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "您確定要修改選定用戶的選定限制嗎?" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "您確定要修改選定用戶的選定可視化限制嗎?" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "您確定要更改所選用戶的書架同步行為嗎?" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "您確定要更改 Calibre 庫位置嗎?" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒絕" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "允許" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "標籤未找到" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "無效的動作" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未為 Web 應用程序配置" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "日誌文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "訪問日誌路徑無效,請輸入正確的路徑" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "請輸入LDAP主機、端口、DN和用戶對象標識符" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "請輸入一個LDAP服務賬號和密碼 " -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "請輸入一個LDAP服務賬號" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP群組對象過濾器需要一個具有“%s”格式標識符號" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP群組對象過濾器的括號不匹配" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP用戶對象過濾器需要一個具有“%s”格式標識符" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP用戶對象過濾器的括號不匹配" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP成員用戶過濾器需要有一個“%s”格式標識符號" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP成員用戶過濾器中有不匹配的括號" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA證書、證書或密鑰位置無效,請輸入正確的路徑" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "添加新用戶" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "編輯郵件服務器設置" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "數據庫錯誤:%(error)s。" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "發送測試郵件時出錯:%(res)s" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "請先配置您的郵箱地址..." -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "郵件服務器設置已更新" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "發生一個未知錯誤,請稍後再試。" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "編輯用戶 %(nick)s" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "用戶 %(user)s 的密碼已重置" -#: cps/admin.py:1429 +#: cps/admin.py:1436 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "請先配置SMTP郵箱設置..." -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "日誌文件查看器" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "正在請求更新包" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "正在下載更新包" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "正在解壓更新包" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "正在替換文件" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "數據庫連接已關閉" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "正在停止服務器" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "更新完成,請點擊確定並刷新頁面" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "更新失敗:" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "HTTP錯誤" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "連接錯誤" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "建立連接超時" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "一般錯誤" -#: cps/admin.py:1517 +#: cps/admin.py:1524 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "更新文件無法保存在臨時目錄中" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "更新時檔案無法替換變更" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "未能提取至少一個LDAP用戶" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "未能創建至少一個LDAP用戶" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "錯誤:%(ldaperror)s" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "錯誤:在LDAP服務器的響應中沒有返回用戶" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "數據庫中沒有找到至少一個LDAP用戶" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "{} 用戶被成功導入" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "數據庫路徑無效,請輸入正確的路徑" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "數據庫不可寫入" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密鑰文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "證書文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 #, fuzzy msgid "Database Settings updated" msgstr "郵件服務器設置已更新" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "數據庫配置" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "請填寫所有欄位!" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "郵箱不在有效網域中" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "添加新用戶" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "用戶“%(user)s”已創建" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此郵箱或用戶名的賬號已經存在。" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "用戶“%(nick)s”已刪除" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "無法刪除訪客用戶" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "管理員賬戶不存在,無法刪除用戶" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "用戶“%(nick)s”已更新" @@ -518,28 +521,28 @@ msgstr "未安裝" msgid "Execution permissions missing" msgstr "缺少執行權限" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "自定義列號:%(column)d在Calibre數據庫中不存在" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "無" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "標識符不區分大小寫,覆蓋舊標識符" @@ -556,84 +559,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上傳" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "轉換的來源或目的格式不存在" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "書籍已經被成功加入到 %(book_format)s 格式轉換隊列" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "轉換此書籍時出現錯誤: %(res)s" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上傳的書籍可能已經存在,建議修改後重新上傳: " -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s 不是一種有效語言" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "要上傳的文件必須具有附檔名" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 無法保存到臨時目錄" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移動封面文件失敗 %(file)s:%(error)s" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "書籍格式已成功刪除" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "書籍已成功刪除" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "編輯元數據" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一個有效的數值,忽略" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "創建路徑 %(path)s 失敗(權限拒絕)。" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失敗。" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -646,186 +649,189 @@ 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:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到id為 %(book)d 的書籍的 %(format)s 格式" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 #, fuzzy msgid "Send to eReader" msgstr "發送到Kindle" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 #, fuzzy msgid "This Email has been sent via Calibre-Web." msgstr "此郵件已經通過Calibre-Web發送。" -#: cps/helper.py:114 +#: cps/helper.py:115 #, fuzzy msgid "Calibre-Web Test Email" msgstr "Calibre-Web測試郵件" -#: cps/helper.py:115 +#: cps/helper.py:116 #, fuzzy msgid "Test Email" msgstr "測試郵件" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "開啟Calibre-Web之旅" -#: cps/helper.py:137 +#: cps/helper.py:138 #, fuzzy, python-format msgid "Registration Email for user: %(name)s" msgstr "用戶註冊電子郵件:%(name)s" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, fuzzy, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "轉換 %(orig)s 到 %(format)s 並發送到Kindle" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, fuzzy, python-format msgid "Send %(format)s to eReader" msgstr "發送 %(format)s 到Kindle" -#: cps/helper.py:225 +#: cps/helper.py:222 #, fuzzy, python-format msgid "%(book)s send to eReader" msgstr "%(book)s發送到Kindle" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "無法讀取請求的文件。可能有錯誤的權限設置?" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "刪除書的文件夾%(id)s失敗,路徑有子文件夾:%(path)s" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "刪除書籍 %(id)s失敗:%(message)s" -#: cps/helper.py:385 +#: cps/helper.py:382 #, 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:450 +#: cps/helper.py:447 #, 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:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找不到文件 %(file)s" -#: cps/helper.py:565 +#: cps/helper.py:562 #, 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:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到書籍路徑 %(path)s" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "此用戶名已被使用" -#: cps/helper.py:664 +#: cps/helper.py:685 #, fuzzy msgid "Invalid Email address format" msgstr "無效的郵件地址格式" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "下載封面時出錯" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "封面格式出錯" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "創建封面路徑失敗" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的圖片文件,或者無法儲存" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持jpg/jpeg/png/webp/bmp格式文件" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "僅將jpg、jpeg文件作為封面文件" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "找不到Unrar執行文件" -#: cps/helper.py:947 +#: cps/helper.py:985 #, fuzzy msgid "Error executing UnRar" msgstr "執行UnRar時出錯" -#: cps/helper.py:1040 +#: cps/helper.py:1078 #, fuzzy msgid "Cover" msgstr "發現" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 #, fuzzy msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "請不要使用localhost訪問Calibre-Web,以便Kobo設備能獲取有效的api_endpoint" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "Kobo 設置" @@ -834,7 +840,7 @@ msgstr "Kobo 設置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 註冊" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "您現在已以“%(nickname)s”身份登入" @@ -899,9 +905,9 @@ msgstr "Google Oauth 錯誤: {}" msgid "{} Stars" msgstr "{} 星" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "登入" @@ -917,7 +923,7 @@ msgstr "Token已過期" msgid "Success! Please return to your device" msgstr "成功!請返回您的設備" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "書籍" @@ -942,7 +948,7 @@ msgstr "已下載書籍" msgid "Show Downloaded Books" msgstr "顯示下載過的書籍" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "最高評分書籍" @@ -951,7 +957,7 @@ msgid "Show Top Rated Books" msgstr "顯示最高評分書籍" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "已讀書籍" @@ -961,7 +967,7 @@ msgid "Show Read and Unread" msgstr "顯示閱讀狀態" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "未讀書籍" @@ -979,7 +985,7 @@ msgid "Show Random Books" msgstr "隨機顯示書籍" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "分類" @@ -990,7 +996,7 @@ msgstr "顯示分類選擇" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "叢書" @@ -1010,7 +1016,7 @@ msgid "Show Author Section" msgstr "顯示作者選擇" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "出版社" @@ -1021,7 +1027,7 @@ msgstr "顯示出版社選擇" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "語言" @@ -1048,7 +1054,7 @@ msgstr "文件格式" msgid "Show File Formats Section" msgstr "顯示文件格式選擇" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "歸檔書籍" @@ -1057,7 +1063,7 @@ msgstr "歸檔書籍" msgid "Show Archived Books" msgstr "顯示歸檔書籍" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "書籍列表" @@ -1065,41 +1071,41 @@ msgstr "書籍列表" msgid "Show Books List" msgstr "顯示書籍列表" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "搜尋" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "出版時間晚於 " -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "出版時間早於 " -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "評分 <= %(rating)s" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "評分 >= %(rating)s" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "閱讀狀態 = %(status)s" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "搜詢自定義欄位時出錯,請重啟 Calibre-Web" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "進階搜尋" @@ -1149,7 +1155,7 @@ msgstr "此書已從書架 %(sname)s 中刪除" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "創建書架" @@ -1175,73 +1181,73 @@ msgstr "書籍已成功刪除" msgid "Change order of Shelf: '%(name)s'" msgstr "修改書架 %(name)s 順序" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "書架 %(title)s 已創建" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "書架 %(title)s 已修改" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "發生錯誤" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共書架:%(title)s已經存在已經存在。" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "私有書架:%(title)s已經存在。" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "書架:%(name)s" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打開書架出錯。書架不存在或不可訪問" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "任務列表" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "等待中" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "失敗" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "已開始" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "已完成" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "未知狀態" @@ -1274,145 +1280,173 @@ msgstr "有新的更新。單擊下面的按鈕以更新到版本: %(version)s" msgid "No release information available" msgstr "無可用發佈信息" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "發現(隨機書籍)" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "熱門書籍(最多下載)" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下載過的書籍" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "叢書:%(serie)s" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "評分:%(rating)s 星" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "文件格式:%(format)s" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "分類:%(name)s" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "語言:%(name)s" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "下載次數" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "評分列表" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "文件格式列表" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +#, fuzzy +msgid "Please configure the SMTP mail settings first..." msgstr "請先配置SMTP郵箱設置..." -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "書籍已經成功加入 %(eReadermail)s 的發送隊列" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "糟糕!發送這本書籍的時候出現錯誤:%(res)s" -#: cps/web.py:1213 +#: cps/web.py:1229 #, fuzzy msgid "Oops! Please update your profile with a valid eReader Email." msgstr "請先設置您的kindle郵箱。" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." -msgstr "郵件服務未配置,請聯繫網站管理員!" +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" +msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "註冊" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "郵件服務未配置,請聯繫網站管理員!" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "您的電子郵件不允許註冊" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "確認郵件已經發送到您的郵箱。" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +#, fuzzy +msgid "Cannot activate LDAP authentication" msgstr "無法激活LDAP認證" -#: cps/web.py:1303 -#, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, fuzzy, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "您現在已以“%(nickname)s”身份登入" + +#: cps/web.py:1367 +#, fuzzy, python-format +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "備援登入“%(nickname)s”:無法訪問LDAP伺服器,或用戶未知" -#: cps/web.py:1309 -#, python-format -msgid "Oops! Login Failed: %(message)s" +#: cps/web.py:1372 +#, fuzzy, python-format +msgid "Could not login: %(message)s" msgstr "無法登入:%(message)s" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1376 cps/web.py:1401 +#, fuzzy +msgid "Wrong Username or Password" msgstr "用戶名或密碼錯誤" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1383 +#, fuzzy +msgid "New Password was send to your email address" msgstr "新密碼已發送到您的郵箱" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1387 +#, fuzzy +msgid "An unknown error occurred. Please try again later." +msgstr "發生一個未知錯誤,請稍後再試。" + +#: cps/web.py:1389 +#, fuzzy +msgid "Please enter valid username to reset password" msgstr "請輸入有效的用戶名進行密碼重置" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1397 +#, fuzzy, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "您現在已以“%(nickname)s”身份登入" + +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "%(name)s 的用戶配置" -#: cps/web.py:1416 +#: cps/web.py:1471 #, fuzzy msgid "Success! Profile Updated" msgstr "資料已更新" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "使用此郵箱的賬號已經存在。" @@ -1471,31 +1505,31 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 #, fuzzy msgid "Backing up Metadata" msgstr "編輯元數據" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "上傳書籍" @@ -1519,7 +1553,7 @@ msgstr "郵箱地址" msgid "Send to eReader Email" msgstr "接收書籍的Kindle郵箱地址" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "管理權限" @@ -1529,8 +1563,8 @@ msgstr "管理權限" msgid "Password" msgstr "密碼" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "下載書籍" @@ -1674,84 +1708,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "管理" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "下載除錯包" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "查看日誌文件" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "重啟" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "停止" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "版本" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "詳情" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "當前版本" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "檢查更新" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "執行更新" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "您確定要重啟嗎?" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "確定" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "取消" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "您確定要關閉嗎?" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "正在更新,請不要刷新頁面" @@ -1891,12 +1929,12 @@ msgid "Published Date" msgstr "出版日期" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "語言" @@ -1924,8 +1962,8 @@ msgid "Fetch Metadata" msgstr "獲取元數據" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1948,8 +1986,8 @@ msgstr "單擊封面將元數據加載到表單" msgid "Loading..." msgstr "加載中..." -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "關閉" @@ -2382,6 +2420,52 @@ msgstr "Kepubify 電子書轉換器路徑" msgid "Location of Unrar binary" msgstr "Unrar程序路徑" +#: cps/templates/config_edit.html:361 +#, fuzzy +msgid "Security Settings" +msgstr "OAuth設置" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +#, fuzzy +msgid "User Password policy" +msgstr "重置用戶密碼" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "查看配置" @@ -2394,7 +2478,7 @@ msgstr "隨機書籍顯示數量" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "主頁中書籍作者的最大顯示數量(0=不隱藏)" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "主題" @@ -2485,64 +2569,64 @@ msgstr "添加顯示或隱藏書籍的標籤值" msgid "Add Allowed/Denied custom column values" msgstr "添加顯示或隱藏書籍的自定義欄位值" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "在線閱讀" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "在線聽書" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "%(range)s 第%(index)s冊" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "出版日期" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "標為未讀" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "標為已讀" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "已讀" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "從歸檔檔案還原" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "添加到歸檔" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "歸檔" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "簡介:" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "添加到書架" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "(公共)" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "編輯元數據" @@ -2615,7 +2699,7 @@ msgstr "輸入網域名" msgid "Denied Domains (Blacklist)" msgstr "禁止註冊的網域名(黑名單)" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "下一個" @@ -2734,7 +2818,7 @@ msgstr "書籍按評分排序" msgid "Books ordered by file formats" msgstr "書籍按文件格式排序" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "書架列表" @@ -2751,52 +2835,52 @@ msgstr "首頁" msgid "Toggle Navigation" msgstr "切換導航" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "搜索書庫" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "賬號" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "登出" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "正在上傳..." -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "錯誤" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "上傳完成,正在處理中,請稍候..." -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "設置" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "請不要刷新頁面" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "瀏覽" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "關於" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "上一個" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "書籍詳情" @@ -2920,11 +3004,11 @@ msgstr "Caliebre-Web電子書路徑" msgid "epub Reader" msgstr "epub閱讀器" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "淺色" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "深色" @@ -2949,111 +3033,124 @@ msgstr "" msgid "Comic Reader" msgstr "Comic閱讀器" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "快捷鍵" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "上一頁" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "下一頁" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 +msgid "Long Strip Display" +msgstr "" + +#: cps/templates/readcbr.html:98 msgid "Scale to Best" msgstr "縮放到最佳" -#: cps/templates/readcbr.html:98 +#: cps/templates/readcbr.html:99 msgid "Scale to Width" msgstr "按寬度縮放" -#: cps/templates/readcbr.html:99 +#: cps/templates/readcbr.html:100 msgid "Scale to Height" msgstr "按高度縮放" -#: cps/templates/readcbr.html:100 +#: cps/templates/readcbr.html:101 msgid "Scale to Native" msgstr "縮放到原始大小" -#: cps/templates/readcbr.html:101 +#: cps/templates/readcbr.html:102 msgid "Rotate Right" msgstr "向右旋轉" -#: cps/templates/readcbr.html:102 +#: cps/templates/readcbr.html:103 msgid "Rotate Left" msgstr "向左旋轉" -#: cps/templates/readcbr.html:103 +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "翻轉圖片" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +#, fuzzy +msgid "Single Page" +msgstr "管理頁" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "縮放" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "最佳" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "寬度" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "高度" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "原始" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "旋轉" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "翻轉" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "水平" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "垂直" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "方向" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "從左到右" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "從右到左" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "重置為頂部" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "記住位置" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "工具欄" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "顯示" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr "隱藏" diff --git a/messages.pot b/messages.pot index a44d8d25..a32fca58 100644 --- a/messages.pot +++ b/messages.pot @@ -8,497 +8,500 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-02-06 19:00+0100\n" +"POT-Creation-Date: 2023-04-16 15:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.3\n" +"Generated-By: Babel 2.11.0\n" #: cps/about.py:84 msgid "Statistics" msgstr "" -#: cps/admin.py:143 +#: cps/admin.py:145 msgid "Server restarted, please reload page." msgstr "" -#: cps/admin.py:145 +#: cps/admin.py:147 msgid "Performing Server shutdown, please close window." msgstr "" -#: cps/admin.py:153 +#: cps/admin.py:155 msgid "Success! Database Reconnected" msgstr "" -#: cps/admin.py:156 +#: cps/admin.py:158 msgid "Unknown command" msgstr "" -#: cps/admin.py:167 -msgid "Success! Books queued for Metadata Backup" +#: cps/admin.py:169 +msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:200 cps/editbooks.py:576 cps/editbooks.py:578 -#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238 +#: cps/admin.py:202 cps/editbooks.py:577 cps/editbooks.py:579 +#: cps/editbooks.py:615 cps/editbooks.py:632 cps/editbooks.py:1241 #: cps/updater.py:613 cps/uploader.py:93 cps/uploader.py:102 msgid "Unknown" msgstr "" -#: cps/admin.py:225 +#: cps/admin.py:227 msgid "Admin page" msgstr "" -#: cps/admin.py:245 +#: cps/admin.py:247 msgid "Basic Configuration" msgstr "" -#: cps/admin.py:283 +#: cps/admin.py:285 msgid "UI Configuration" msgstr "" -#: cps/admin.py:317 cps/templates/admin.html:51 +#: cps/admin.py:319 cps/templates/admin.html:51 msgid "Edit Users" msgstr "" -#: cps/admin.py:361 cps/opds.py:494 cps/templates/grid.html:14 +#: cps/admin.py:363 cps/opds.py:494 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" msgstr "" -#: cps/admin.py:388 cps/admin.py:1392 +#: cps/admin.py:390 cps/admin.py:1399 msgid "User not found" msgstr "" -#: cps/admin.py:402 +#: cps/admin.py:404 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:425 cps/templates/config_view_edit.html:133 +#: cps/admin.py:427 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "" -#: cps/admin.py:446 cps/admin.py:452 +#: cps/admin.py:448 cps/admin.py:454 msgid "Malformed request" msgstr "" -#: cps/admin.py:464 cps/admin.py:1993 +#: cps/admin.py:466 cps/admin.py:2016 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:478 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:488 cps/admin.py:1948 +#: cps/admin.py:490 cps/admin.py:1970 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:492 cps/admin.py:506 +#: cps/admin.py:494 cps/admin.py:508 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:494 +#: cps/admin.py:496 msgid "Invalid role" msgstr "" -#: cps/admin.py:498 +#: cps/admin.py:500 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:508 +#: cps/admin.py:510 msgid "Invalid view" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:513 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:515 +#: cps/admin.py:517 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:526 +#: cps/admin.py:528 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:528 cps/editbooks.py:442 +#: cps/admin.py:530 cps/editbooks.py:443 msgid "Parameter not found" msgstr "" -#: cps/admin.py:565 +#: cps/admin.py:567 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:571 +#: cps/admin.py:573 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:591 cps/admin.py:1819 +#: cps/admin.py:593 cps/admin.py:1841 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:605 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:605 +#: cps/admin.py:607 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:607 +#: cps/admin.py:609 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:609 +#: cps/admin.py:611 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:611 +#: cps/admin.py:613 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:613 +#: cps/admin.py:615 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:615 +#: cps/admin.py:617 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:617 +#: cps/admin.py:619 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:619 +#: cps/admin.py:621 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:624 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "" -#: cps/admin.py:624 +#: cps/admin.py:626 msgid "Are you sure you want to change Calibre library location?" msgstr "" -#: cps/admin.py:626 +#: cps/admin.py:628 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:629 +#: cps/admin.py:631 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:872 cps/admin.py:878 cps/admin.py:888 cps/admin.py:898 +#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:874 cps/admin.py:880 cps/admin.py:890 cps/admin.py:900 +#: cps/admin.py:876 cps/admin.py:882 cps/admin.py:892 cps/admin.py:902 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:915 +#: cps/admin.py:917 msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:963 +#: cps/admin.py:965 msgid "Tag not found" msgstr "" -#: cps/admin.py:975 +#: cps/admin.py:977 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1104 +#: cps/admin.py:1106 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1149 +#: cps/admin.py:1151 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1155 +#: cps/admin.py:1157 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1185 +#: cps/admin.py:1191 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1191 +#: cps/admin.py:1197 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1194 +#: cps/admin.py:1200 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1199 +#: cps/admin.py:1205 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1207 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1211 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1207 +#: cps/admin.py:1213 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1214 +#: cps/admin.py:1220 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1216 +#: cps/admin.py:1222 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1229 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1254 cps/templates/admin.html:53 +#: cps/admin.py:1260 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1263 cps/templates/admin.html:100 +#: cps/admin.py:1269 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1282 +#: cps/admin.py:1288 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1301 cps/admin.py:1304 cps/admin.py:1685 cps/admin.py:1803 -#: cps/admin.py:1901 cps/admin.py:2021 cps/editbooks.py:229 -#: cps/editbooks.py:305 cps/editbooks.py:1201 cps/shelf.py:82 cps/shelf.py:142 -#: cps/shelf.py:185 cps/shelf.py:235 cps/shelf.py:272 cps/shelf.py:343 -#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1425 +#: cps/admin.py:1307 cps/admin.py:1310 cps/admin.py:1692 cps/admin.py:1825 +#: cps/admin.py:1923 cps/admin.py:2044 cps/editbooks.py:229 +#: cps/editbooks.py:305 cps/editbooks.py:1203 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:1480 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1311 +#: cps/admin.py:1317 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1320 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1316 +#: cps/admin.py:1322 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1318 +#: cps/admin.py:1324 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1341 cps/templates/admin.html:191 +#: cps/admin.py:1347 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1353 +#: cps/admin.py:1359 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1358 +#: cps/admin.py:1364 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1367 +#: cps/admin.py:1374 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1377 cps/admin.py:1426 cps/admin.py:2017 cps/web.py:1263 -#: cps/web.py:1324 +#: cps/admin.py:1384 cps/admin.py:1433 cps/admin.py:2040 cps/web.py:1280 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1381 +#: cps/admin.py:1388 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1411 cps/admin.py:2009 +#: cps/admin.py:1418 cps/admin.py:2032 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/admin.py:1423 +#: cps/admin.py:1430 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1429 +#: cps/admin.py:1436 msgid "Oops! Please configure the SMTP mail settings." msgstr "" -#: cps/admin.py:1440 +#: cps/admin.py:1447 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1507 +#: cps/admin.py:1514 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1508 +#: cps/admin.py:1515 msgid "Unzipping update package" msgstr "" -#: cps/admin.py:1509 +#: cps/admin.py:1516 msgid "Replacing files" msgstr "" -#: cps/admin.py:1510 +#: cps/admin.py:1517 msgid "Database connections are closed" msgstr "" -#: cps/admin.py:1511 +#: cps/admin.py:1518 msgid "Stopping server" msgstr "" -#: cps/admin.py:1512 +#: cps/admin.py:1519 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/admin.py:1513 cps/admin.py:1514 cps/admin.py:1515 cps/admin.py:1516 -#: cps/admin.py:1517 cps/admin.py:1518 +#: cps/admin.py:1520 cps/admin.py:1521 cps/admin.py:1522 cps/admin.py:1523 +#: cps/admin.py:1524 cps/admin.py:1525 msgid "Update failed:" msgstr "" -#: cps/admin.py:1513 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 +#: cps/admin.py:1520 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1514 cps/updater.py:391 cps/updater.py:628 +#: cps/admin.py:1521 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" msgstr "" -#: cps/admin.py:1515 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1522 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1516 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1523 cps/updater.py:395 cps/updater.py:632 msgid "General error" msgstr "" -#: cps/admin.py:1517 +#: cps/admin.py:1524 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1518 +#: cps/admin.py:1525 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1549 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1587 +#: cps/admin.py:1594 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1600 +#: cps/admin.py:1607 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1604 +#: cps/admin.py:1611 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1637 +#: cps/admin.py:1644 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1639 +#: cps/admin.py:1646 msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1697 +#: cps/admin.py:1704 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1717 +#: cps/admin.py:1724 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1730 +#: cps/admin.py:1737 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1741 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1842 +#: cps/admin.py:1812 +msgid "Password length has to be between 1 and 40" +msgstr "" + +#: cps/admin.py:1864 msgid "Database Settings updated" msgstr "" -#: cps/admin.py:1850 +#: cps/admin.py:1872 msgid "Database Configuration" msgstr "" -#: cps/admin.py:1866 cps/web.py:1237 +#: cps/admin.py:1887 cps/web.py:1254 msgid "Oops! Please complete all fields." msgstr "" -#: cps/admin.py:1874 +#: cps/admin.py:1896 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1880 +#: cps/admin.py:1902 msgid "Add new user" msgstr "" -#: cps/admin.py:1891 +#: cps/admin.py:1913 #, python-format msgid "User '%(user)s' created" msgstr "" -#: cps/admin.py:1897 +#: cps/admin.py:1919 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:1927 +#: cps/admin.py:1949 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:1929 cps/admin.py:1930 +#: cps/admin.py:1952 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1933 +#: cps/admin.py:1955 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1987 cps/web.py:1375 +#: cps/admin.py:2010 cps/web.py:1429 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2013 +#: cps/admin.py:2036 #, python-format msgid "User '%(nick)s' updated" msgstr "" @@ -511,28 +514,28 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:728 cps/search.py:138 cps/web.py:727 +#: cps/db.py:731 cps/search.py:137 cps/web.py:731 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "" -#: cps/db.py:971 cps/templates/config_edit.html:204 +#: cps/db.py:972 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 -#: cps/web.py:554 cps/web.py:588 cps/web.py:663 cps/web.py:688 cps/web.py:969 -#: cps/web.py:999 cps/web.py:1035 cps/web.py:1063 cps/web.py:1102 +#: cps/web.py:558 cps/web.py:592 cps/web.py:667 cps/web.py:692 cps/web.py:973 +#: cps/web.py:1003 cps/web.py:1039 cps/web.py:1067 cps/web.py:1106 msgid "None" msgstr "" -#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:521 cps/web.py:1466 -#: cps/web.py:1508 cps/web.py:1553 +#: cps/editbooks.py:110 cps/editbooks.py:896 cps/web.py:525 cps/web.py:1521 +#: cps/web.py:1565 cps/web.py:1610 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:154 cps/editbooks.py:1221 +#: cps/editbooks.py:154 cps/editbooks.py:1224 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:174 cps/editbooks.py:716 +#: cps/editbooks.py:174 cps/editbooks.py:717 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" @@ -549,84 +552,84 @@ msgstr "" msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:318 +#: cps/editbooks.py:319 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:326 +#: cps/editbooks.py:327 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:330 +#: cps/editbooks.py:331 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:635 +#: cps/editbooks.py:636 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:690 cps/editbooks.py:1015 +#: cps/editbooks.py:691 cps/editbooks.py:1016 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:728 cps/editbooks.py:1162 +#: cps/editbooks.py:729 cps/editbooks.py:1164 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:732 cps/editbooks.py:1166 +#: cps/editbooks.py:733 cps/editbooks.py:1168 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:740 +#: cps/editbooks.py:741 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:760 +#: cps/editbooks.py:761 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:817 cps/editbooks.py:819 +#: cps/editbooks.py:818 cps/editbooks.py:820 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:826 cps/editbooks.py:828 +#: cps/editbooks.py:827 cps/editbooks.py:829 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:880 +#: cps/editbooks.py:881 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:930 +#: cps/editbooks.py:931 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:979 +#: cps/editbooks.py:980 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1157 +#: cps/editbooks.py:1159 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1178 +#: cps/editbooks.py:1180 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1183 +#: cps/editbooks.py:1185 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1206 +#: cps/editbooks.py:1209 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -639,178 +642,181 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:81 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:87 cps/tasks/convert.py:75 +#: cps/helper.py:88 cps/tasks/convert.py:75 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:92 +#: cps/helper.py:93 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:43 -#: cps/templates/detail.html:47 +#: cps/helper.py:98 cps/helper.py:223 cps/templates/detail.html:59 msgid "Send to eReader" msgstr "" -#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228 +#: cps/helper.py:99 cps/helper.py:117 cps/helper.py:225 msgid "This Email has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:114 +#: cps/helper.py:115 msgid "Calibre-Web Test Email" msgstr "" -#: cps/helper.py:115 +#: cps/helper.py:116 msgid "Test Email" msgstr "" -#: cps/helper.py:132 +#: cps/helper.py:133 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:137 +#: cps/helper.py:138 #, python-format msgid "Registration Email for user: %(name)s" msgstr "" -#: cps/helper.py:148 cps/helper.py:154 +#: cps/helper.py:149 cps/helper.py:155 #, python-format msgid "Convert %(orig)s to %(format)s and send to eReader" msgstr "" -#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185 +#: cps/helper.py:174 cps/helper.py:178 cps/helper.py:182 #, python-format msgid "Send %(format)s to eReader" msgstr "" -#: cps/helper.py:225 +#: cps/helper.py:222 #, python-format msgid "%(book)s send to eReader" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:227 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:345 +#: cps/helper.py:342 msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:368 +#: cps/helper.py:365 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:374 +#: cps/helper.py:371 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:385 +#: cps/helper.py:382 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:450 +#: cps/helper.py:447 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:522 cps/helper.py:531 +#: cps/helper.py:519 cps/helper.py:528 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:565 +#: cps/helper.py:562 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:585 +#: cps/helper.py:582 msgid "Error in rename file in path: {}" msgstr "" -#: cps/helper.py:603 +#: cps/helper.py:600 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:644 +#: cps/helper.py:665 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:652 +#: cps/helper.py:673 msgid "This username is already taken" msgstr "" -#: cps/helper.py:664 +#: cps/helper.py:685 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:815 +#: cps/helper.py:703 +msgid "Password doesn't comply with password validation rules" +msgstr "" + +#: cps/helper.py:853 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:825 +#: cps/helper.py:863 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:828 +#: cps/helper.py:866 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:831 +#: cps/helper.py:869 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:841 +#: cps/helper.py:879 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:895 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:868 +#: cps/helper.py:906 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:880 +#: cps/helper.py:918 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:884 +#: cps/helper.py:922 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:936 +#: cps/helper.py:974 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:947 +#: cps/helper.py:985 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1040 +#: cps/helper.py:1078 msgid "Cover" msgstr "" -#: cps/helper.py:1042 cps/templates/admin.html:211 +#: cps/helper.py:1080 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" -#: cps/kobo_auth.py:89 +#: cps/kobo_auth.py:90 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" msgstr "" -#: cps/kobo_auth.py:115 +#: cps/kobo_auth.py:116 msgid "Kobo Setup" msgstr "" @@ -819,7 +825,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1295 cps/web.py:1333 +#: cps/oauth_bb.py:138 cps/remotelogin.py:130 #, python-format msgid "Success! You are now logged in as: %(nickname)s" msgstr "" @@ -884,9 +890,9 @@ msgstr "" msgid "{} Stars" msgstr "" -#: cps/remotelogin.py:62 cps/templates/layout.html:68 -#: cps/templates/layout.html:102 cps/templates/login.html:4 -#: cps/templates/login.html:21 cps/web.py:1344 +#: cps/remotelogin.py:62 cps/templates/layout.html:67 +#: cps/templates/layout.html:101 cps/templates/login.html:4 +#: cps/templates/login.html:21 cps/web.py:1317 msgid "Login" msgstr "" @@ -902,7 +908,7 @@ msgstr "" msgid "Success! Please return to your device" msgstr "" -#: cps/render_template.py:42 cps/web.py:410 +#: cps/render_template.py:42 cps/web.py:414 msgid "Books" msgstr "" @@ -927,7 +933,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:59 cps/templates/index.xml:32 cps/web.py:429 msgid "Top Rated Books" msgstr "" @@ -936,7 +942,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:62 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:746 +#: cps/templates/index.xml:58 cps/web.py:750 msgid "Read Books" msgstr "" @@ -945,7 +951,7 @@ msgid "Show Read and Unread" msgstr "" #: cps/render_template.py:66 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:749 +#: cps/templates/index.xml:65 cps/web.py:753 msgid "Unread Books" msgstr "" @@ -963,7 +969,7 @@ msgid "Show Random Books" msgstr "" #: cps/render_template.py:72 cps/templates/book_table.html:67 -#: cps/templates/index.xml:83 cps/web.py:1106 +#: cps/templates/index.xml:83 cps/web.py:1110 msgid "Categories" msgstr "" @@ -973,7 +979,7 @@ msgstr "" #: cps/render_template.py:75 cps/templates/book_edit.html:91 #: cps/templates/book_table.html:68 cps/templates/index.xml:90 -#: cps/templates/search_form.html:69 cps/web.py:1002 cps/web.py:1009 +#: cps/templates/search_form.html:69 cps/web.py:1006 cps/web.py:1013 msgid "Series" msgstr "" @@ -991,7 +997,7 @@ msgid "Show Author Section" msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:72 -#: cps/templates/index.xml:76 cps/web.py:973 +#: cps/templates/index.xml:76 cps/web.py:977 msgid "Publishers" msgstr "" @@ -1001,7 +1007,7 @@ msgstr "" #: cps/render_template.py:85 cps/templates/book_table.html:70 #: cps/templates/index.xml:97 cps/templates/search_form.html:107 -#: cps/web.py:1078 +#: cps/web.py:1082 msgid "Languages" msgstr "" @@ -1025,7 +1031,7 @@ msgstr "" msgid "Show File Formats Section" msgstr "" -#: cps/render_template.py:96 cps/web.py:772 +#: cps/render_template.py:96 cps/web.py:776 msgid "Archived Books" msgstr "" @@ -1033,7 +1039,7 @@ msgstr "" msgid "Show Archived Books" msgstr "" -#: cps/render_template.py:101 cps/web.py:803 +#: cps/render_template.py:101 cps/web.py:807 msgid "Books List" msgstr "" @@ -1041,41 +1047,41 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/search.py:49 cps/search.py:393 cps/templates/book_edit.html:236 +#: cps/search.py:48 cps/search.py:392 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 -#: cps/templates/layout.html:47 cps/templates/layout.html:50 +#: cps/templates/layout.html:46 cps/templates/layout.html:49 #: cps/templates/search_form.html:226 msgid "Search" msgstr "" -#: cps/search.py:189 +#: cps/search.py:188 msgid "Published after " msgstr "" -#: cps/search.py:196 +#: cps/search.py:195 msgid "Published before " msgstr "" -#: cps/search.py:218 +#: cps/search.py:217 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/search.py:220 +#: cps/search.py:219 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/search.py:222 +#: cps/search.py:221 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/search.py:324 +#: cps/search.py:323 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/search.py:343 cps/search.py:375 cps/templates/layout.html:58 +#: cps/search.py:342 cps/search.py:374 cps/templates/layout.html:57 msgid "Advanced Search" msgstr "" @@ -1125,7 +1131,7 @@ msgstr "" msgid "Sorry you are not allowed to remove a book from this shelf" msgstr "" -#: cps/shelf.py:210 cps/templates/layout.html:158 +#: cps/shelf.py:210 cps/templates/layout.html:157 msgid "Create a Shelf" msgstr "" @@ -1150,73 +1156,73 @@ msgstr "" msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:313 +#: cps/shelf.py:316 msgid "Sorry you are not allowed to create a public shelf" msgstr "" -#: cps/shelf.py:330 +#: cps/shelf.py:333 #, python-format msgid "Shelf %(title)s created" msgstr "" -#: cps/shelf.py:333 +#: cps/shelf.py:336 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/shelf.py:347 +#: cps/shelf.py:350 msgid "There was an error" msgstr "" -#: cps/shelf.py:369 +#: cps/shelf.py:372 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:380 +#: cps/shelf.py:383 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:462 +#: cps/shelf.py:465 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:466 +#: cps/shelf.py:469 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/tasks_status.py:48 cps/templates/layout.html:89 +#: cps/tasks_status.py:46 cps/templates/layout.html:88 #: cps/templates/tasks.html:7 msgid "Tasks" msgstr "" -#: cps/tasks_status.py:64 +#: cps/tasks_status.py:62 msgid "Waiting" msgstr "" -#: cps/tasks_status.py:66 +#: cps/tasks_status.py:64 msgid "Failed" msgstr "" -#: cps/tasks_status.py:68 +#: cps/tasks_status.py:66 msgid "Started" msgstr "" -#: cps/tasks_status.py:70 +#: cps/tasks_status.py:68 msgid "Finished" msgstr "" -#: cps/tasks_status.py:72 +#: cps/tasks_status.py:70 msgid "Ended" msgstr "" -#: cps/tasks_status.py:74 +#: cps/tasks_status.py:72 msgid "Cancelled" msgstr "" -#: cps/tasks_status.py:76 +#: cps/tasks_status.py:74 msgid "Unknown Status" msgstr "" @@ -1249,143 +1255,165 @@ msgstr "" msgid "No release information available" msgstr "" -#: cps/templates/index.html:6 cps/web.py:437 +#: cps/templates/index.html:6 cps/web.py:441 msgid "Discover (Random Books)" msgstr "" -#: cps/web.py:473 +#: cps/web.py:477 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:504 +#: cps/web.py:508 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:537 +#: cps/web.py:541 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:573 +#: cps/web.py:577 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:601 +#: cps/web.py:605 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:616 +#: cps/web.py:620 msgid "Rating: None" msgstr "" -#: cps/web.py:625 +#: cps/web.py:629 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:643 +#: cps/web.py:647 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:680 +#: cps/web.py:684 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/web.py:707 +#: cps/web.py:711 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/admin.html:16 cps/web.py:945 +#: cps/templates/admin.html:16 cps/web.py:949 msgid "Downloads" msgstr "" -#: cps/web.py:1038 +#: cps/web.py:1042 msgid "Ratings list" msgstr "" -#: cps/web.py:1065 +#: cps/web.py:1069 msgid "File formats list" msgstr "" -#: cps/web.py:1202 -msgid "Please configure the SMTP mail settings first." +#: cps/web.py:1217 +msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/web.py:1207 +#: cps/web.py:1224 #, python-format msgid "Success! Book queued for sending to %(eReadermail)s" msgstr "" -#: cps/web.py:1211 +#: cps/web.py:1227 #, python-format msgid "Oops! There was an error sending book: %(res)s" msgstr "" -#: cps/web.py:1213 +#: cps/web.py:1229 msgid "Oops! Please update your profile with a valid eReader Email." msgstr "" -#: cps/web.py:1230 -msgid "Oops! Email server is not configured, please contact your administrator." +#: cps/web.py:1245 +msgid "Please wait one minute to register next user" msgstr "" -#: cps/templates/layout.html:69 cps/templates/layout.html:103 -#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1231 -#: cps/web.py:1238 cps/web.py:1244 cps/web.py:1264 cps/web.py:1269 -#: cps/web.py:1275 +#: cps/templates/layout.html:68 cps/templates/layout.html:102 +#: cps/templates/login.html:27 cps/templates/register.html:17 cps/web.py:1246 +#: cps/web.py:1251 cps/web.py:1255 cps/web.py:1261 cps/web.py:1281 +#: cps/web.py:1285 cps/web.py:1298 cps/web.py:1301 msgid "Register" msgstr "" -#: cps/web.py:1266 +#: cps/web.py:1250 cps/web.py:1297 +msgid "Oops! Email server is not configured, please contact your administrator." +msgstr "" + +#: cps/web.py:1283 msgid "Oops! Your Email is not allowed." msgstr "" -#: cps/web.py:1270 +#: cps/web.py:1286 msgid "Success! Confirmation Email has been sent." msgstr "" -#: cps/web.py:1284 -msgid "Oops! Cannot activate LDAP authentication" +#: cps/web.py:1332 cps/web.py:1350 +msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1303 +#: cps/web.py:1344 +msgid "Please wait one minute before next login" +msgstr "" + +#: cps/web.py:1360 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1367 #, python-format -msgid "Fallback Login as: %(nickname)s, LDAP Server not reachable, or user not known" +msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" msgstr "" -#: cps/web.py:1309 +#: cps/web.py:1372 #, python-format -msgid "Oops! Login Failed: %(message)s" +msgid "Could not login: %(message)s" +msgstr "" + +#: cps/web.py:1376 cps/web.py:1401 +msgid "Wrong Username or Password" +msgstr "" + +#: cps/web.py:1383 +msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1313 cps/web.py:1338 -msgid "Oops! Invalid Username or Password." +#: cps/web.py:1387 +msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:1320 -msgid "Success! New Password was sent to your Email." +#: cps/web.py:1389 +msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1326 -msgid "Oops! Please enter a valid username to reset password" +#: cps/web.py:1397 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1400 cps/web.py:1449 +#: cps/web.py:1455 cps/web.py:1505 #, python-format msgid "%(name)s's Profile" msgstr "" -#: cps/web.py:1416 +#: cps/web.py:1471 msgid "Success! Profile Updated" msgstr "" -#: cps/web.py:1420 +#: cps/web.py:1475 msgid "Oops! An account already exists for this Email." msgstr "" @@ -1444,30 +1472,30 @@ msgstr "" msgid "E-mail" msgstr "" -#: cps/tasks/metadata_backup.py:47 +#: cps/tasks/metadata_backup.py:46 msgid "Backing up Metadata" msgstr "" -#: cps/tasks/thumbnail.py:95 +#: cps/tasks/thumbnail.py:96 #, python-format msgid "Generated %(count)s cover thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 -#: cps/tasks/thumbnail.py:503 +#: cps/tasks/thumbnail.py:230 cps/tasks/thumbnail.py:443 +#: cps/tasks/thumbnail.py:511 msgid "Cover Thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:281 +#: cps/tasks/thumbnail.py:289 msgid "Generated {0} series thumbnails" msgstr "" -#: cps/tasks/thumbnail.py:446 +#: cps/tasks/thumbnail.py:454 msgid "Clearing cover thumbnail cache" msgstr "" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 -#: cps/templates/layout.html:82 cps/templates/user_table.html:145 +#: cps/templates/layout.html:81 cps/templates/user_table.html:145 msgid "Upload" msgstr "" @@ -1490,7 +1518,7 @@ msgstr "" msgid "Send to eReader Email" msgstr "" -#: cps/templates/admin.html:17 cps/templates/layout.html:92 +#: cps/templates/admin.html:17 cps/templates/layout.html:91 #: cps/templates/user_table.html:143 msgid "Admin" msgstr "" @@ -1500,8 +1528,8 @@ msgstr "" msgid "Password" msgstr "" -#: cps/templates/admin.html:22 cps/templates/detail.html:19 -#: cps/templates/detail.html:28 cps/templates/shelf.html:8 +#: cps/templates/admin.html:22 cps/templates/detail.html:20 +#: cps/templates/detail.html:33 cps/templates/shelf.html:8 #: cps/templates/user_table.html:146 msgid "Download" msgstr "" @@ -1644,84 +1672,88 @@ msgstr "" msgid "Generate series cover thumbnails" msgstr "" -#: cps/templates/admin.html:186 cps/templates/admin.html:204 +#: cps/templates/admin.html:186 cps/templates/admin.html:208 #: cps/templates/schedule_edit.html:37 msgid "Reconnect Calibre Database" msgstr "" -#: cps/templates/admin.html:193 +#: cps/templates/admin.html:190 cps/templates/schedule_edit.html:41 +msgid "Generate Metadata Backup Files" +msgstr "" + +#: cps/templates/admin.html:197 msgid "Refresh Thumbnail Cache" msgstr "" -#: cps/templates/admin.html:199 +#: cps/templates/admin.html:203 msgid "Administration" msgstr "" -#: cps/templates/admin.html:200 +#: cps/templates/admin.html:204 msgid "Download Debug Package" msgstr "" -#: cps/templates/admin.html:201 +#: cps/templates/admin.html:205 msgid "View Logs" msgstr "" -#: cps/templates/admin.html:207 +#: cps/templates/admin.html:211 msgid "Restart" msgstr "" -#: cps/templates/admin.html:208 +#: cps/templates/admin.html:212 msgid "Shutdown" msgstr "" -#: cps/templates/admin.html:216 +#: cps/templates/admin.html:221 msgid "Version Information" msgstr "" -#: cps/templates/admin.html:220 +#: cps/templates/admin.html:225 msgid "Version" msgstr "" -#: cps/templates/admin.html:221 +#: cps/templates/admin.html:226 msgid "Details" msgstr "" -#: cps/templates/admin.html:227 +#: cps/templates/admin.html:232 msgid "Current Version" msgstr "" -#: cps/templates/admin.html:234 +#: cps/templates/admin.html:239 msgid "Check for Update" msgstr "" -#: cps/templates/admin.html:235 +#: cps/templates/admin.html:240 msgid "Perform Update" msgstr "" -#: cps/templates/admin.html:248 +#: cps/templates/admin.html:253 msgid "Are you sure you want to restart?" msgstr "" -#: cps/templates/admin.html:253 cps/templates/admin.html:267 -#: cps/templates/admin.html:287 cps/templates/config_db.html:70 +#: cps/templates/admin.html:258 cps/templates/admin.html:272 +#: cps/templates/admin.html:292 cps/templates/config_db.html:70 msgid "OK" msgstr "" -#: cps/templates/admin.html:254 cps/templates/admin.html:268 +#: 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:359 +#: cps/templates/config_db.html:54 cps/templates/config_edit.html:410 #: 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:41 +#: cps/templates/modal_dialogs.html:135 cps/templates/schedule_edit.html:45 #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" msgstr "" -#: cps/templates/admin.html:266 +#: cps/templates/admin.html:271 msgid "Are you sure you want to shutdown?" msgstr "" -#: cps/templates/admin.html:278 +#: cps/templates/admin.html:283 msgid "Updating, please do not reload this page" msgstr "" @@ -1861,12 +1893,12 @@ msgid "Published Date" msgstr "" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 -#: cps/templates/book_edit.html:290 cps/templates/detail.html:166 +#: cps/templates/book_edit.html:290 cps/templates/detail.html:192 #: cps/templates/listenmp3.html:102 cps/templates/search_form.html:16 msgid "Publisher" msgstr "" -#: cps/templates/book_edit.html:126 cps/templates/detail.html:133 +#: cps/templates/book_edit.html:126 cps/templates/detail.html:157 #: cps/templates/listenmp3.html:69 cps/templates/user_edit.html:33 msgid "Language" msgstr "" @@ -1894,8 +1926,8 @@ msgid "Fetch Metadata" msgstr "" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 -#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 -#: cps/templates/email_edit.html:65 cps/templates/schedule_edit.html:40 +#: cps/templates/config_edit.html:409 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 msgid "Save" @@ -1917,8 +1949,8 @@ msgstr "" msgid "Loading..." msgstr "" -#: cps/templates/book_edit.html:251 cps/templates/layout.html:79 -#: cps/templates/layout.html:204 cps/templates/modal_dialogs.html:34 +#: cps/templates/book_edit.html:251 cps/templates/layout.html:78 +#: cps/templates/layout.html:203 cps/templates/modal_dialogs.html:34 #: cps/templates/user_edit.html:163 msgid "Close" msgstr "" @@ -2349,6 +2381,50 @@ msgstr "" msgid "Location of Unrar binary" msgstr "" +#: cps/templates/config_edit.html:361 +msgid "Security Settings" +msgstr "" + +#: cps/templates/config_edit.html:369 +msgid "Limit failed login attempts" +msgstr "" + +#: cps/templates/config_edit.html:372 +msgid "Session protection" +msgstr "" + +#: cps/templates/config_edit.html:374 +msgid "Basic" +msgstr "" + +#: cps/templates/config_edit.html:375 +msgid "Strong" +msgstr "" + +#: cps/templates/config_edit.html:380 +msgid "User Password policy" +msgstr "" + +#: cps/templates/config_edit.html:384 +msgid "Minimum password length" +msgstr "" + +#: cps/templates/config_edit.html:389 +msgid "Enforce number" +msgstr "" + +#: cps/templates/config_edit.html:393 +msgid "Enforce lowercase characters" +msgstr "" + +#: cps/templates/config_edit.html:397 +msgid "Enforce uppercase characters" +msgstr "" + +#: cps/templates/config_edit.html:401 +msgid "Enforce special characters" +msgstr "" + #: cps/templates/config_view_edit.html:17 msgid "View Configuration" msgstr "" @@ -2361,7 +2437,7 @@ msgstr "" msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" msgstr "" -#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:116 +#: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:117 msgid "Theme" msgstr "" @@ -2450,64 +2526,64 @@ msgstr "" msgid "Add Allowed/Denied custom column values" msgstr "" -#: cps/templates/detail.html:62 cps/templates/detail.html:71 +#: cps/templates/detail.html:77 cps/templates/detail.html:91 msgid "Read in Browser" msgstr "" -#: cps/templates/detail.html:79 cps/templates/detail.html:96 +#: cps/templates/detail.html:100 cps/templates/detail.html:120 msgid "Listen in Browser" msgstr "" -#: cps/templates/detail.html:126 cps/templates/listenmp3.html:62 +#: cps/templates/detail.html:150 cps/templates/listenmp3.html:62 #, python-format msgid "Book %(index)s of %(range)s" msgstr "" -#: cps/templates/detail.html:175 cps/templates/listenmp3.html:111 +#: cps/templates/detail.html:201 cps/templates/listenmp3.html:111 msgid "Published" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:250 cps/templates/listenmp3.html:158 msgid "Mark As Unread" msgstr "" -#: cps/templates/detail.html:223 cps/templates/listenmp3.html:158 +#: cps/templates/detail.html:251 cps/templates/listenmp3.html:158 msgid "Mark As Read" msgstr "" -#: cps/templates/detail.html:224 cps/templates/listenmp3.html:159 +#: cps/templates/detail.html:253 cps/templates/listenmp3.html:159 msgid "Read" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:263 cps/templates/listenmp3.html:166 msgid "Restore from archive" msgstr "" -#: cps/templates/detail.html:233 cps/templates/listenmp3.html:166 +#: cps/templates/detail.html:264 cps/templates/listenmp3.html:166 msgid "Add to archive" msgstr "" -#: cps/templates/detail.html:234 cps/templates/listenmp3.html:167 +#: cps/templates/detail.html:266 cps/templates/listenmp3.html:167 msgid "Archived" msgstr "" -#: cps/templates/detail.html:245 cps/templates/listenmp3.html:177 +#: cps/templates/detail.html:277 cps/templates/listenmp3.html:177 msgid "Description:" msgstr "" -#: cps/templates/detail.html:258 cps/templates/listenmp3.html:190 +#: cps/templates/detail.html:292 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" msgstr "" -#: cps/templates/detail.html:269 cps/templates/detail.html:286 -#: cps/templates/feed.xml:79 cps/templates/layout.html:155 +#: cps/templates/detail.html:304 cps/templates/detail.html:323 +#: cps/templates/feed.xml:80 cps/templates/layout.html:154 #: cps/templates/listenmp3.html:201 cps/templates/listenmp3.html:218 #: cps/templates/search.html:22 msgid "(Public)" msgstr "" -#: cps/templates/detail.html:300 +#: cps/templates/detail.html:339 msgid "Edit Metadata" msgstr "" @@ -2577,7 +2653,7 @@ msgstr "" msgid "Denied Domains (Blacklist)" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:188 +#: cps/templates/feed.xml:21 cps/templates/layout.html:187 msgid "Next" msgstr "" @@ -2695,7 +2771,7 @@ msgstr "" msgid "Books ordered by file formats" msgstr "" -#: cps/templates/index.xml:119 cps/templates/layout.html:153 +#: cps/templates/index.xml:119 cps/templates/layout.html:152 #: cps/templates/search_form.html:87 msgid "Shelves" msgstr "" @@ -2712,52 +2788,52 @@ msgstr "" msgid "Toggle Navigation" msgstr "" -#: cps/templates/layout.html:48 +#: cps/templates/layout.html:47 msgid "Search Library" msgstr "" -#: cps/templates/layout.html:66 cps/templates/layout.html:95 +#: cps/templates/layout.html:65 cps/templates/layout.html:94 msgid "Account" msgstr "" -#: cps/templates/layout.html:72 cps/templates/layout.html:97 +#: cps/templates/layout.html:71 cps/templates/layout.html:96 msgid "Logout" msgstr "" -#: cps/templates/layout.html:79 cps/templates/layout.html:135 +#: cps/templates/layout.html:78 cps/templates/layout.html:134 msgid "Uploading..." msgstr "" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Error" msgstr "" -#: cps/templates/layout.html:79 +#: cps/templates/layout.html:78 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:92 cps/templates/read.html:76 -#: cps/templates/readcbr.html:87 cps/templates/readcbr.html:111 +#: cps/templates/layout.html:91 cps/templates/read.html:76 +#: cps/templates/readcbr.html:86 cps/templates/readcbr.html:112 msgid "Settings" msgstr "" -#: cps/templates/layout.html:136 +#: cps/templates/layout.html:135 msgid "Please do not refresh the page" msgstr "" -#: cps/templates/layout.html:146 +#: cps/templates/layout.html:145 msgid "Browse" msgstr "" -#: cps/templates/layout.html:159 cps/templates/stats.html:3 +#: cps/templates/layout.html:158 cps/templates/stats.html:3 msgid "About" msgstr "" -#: cps/templates/layout.html:173 +#: cps/templates/layout.html:172 msgid "Previous" msgstr "" -#: cps/templates/layout.html:200 +#: cps/templates/layout.html:199 msgid "Book Details" msgstr "" @@ -2881,11 +2957,11 @@ msgstr "" msgid "epub Reader" msgstr "" -#: cps/templates/read.html:81 cps/templates/readcbr.html:119 +#: cps/templates/read.html:81 cps/templates/readcbr.html:120 msgid "Light" msgstr "" -#: cps/templates/read.html:82 cps/templates/readcbr.html:120 +#: cps/templates/read.html:82 cps/templates/readcbr.html:121 msgid "Dark" msgstr "" @@ -2909,111 +2985,123 @@ msgstr "" msgid "Comic Reader" msgstr "" -#: cps/templates/readcbr.html:92 +#: cps/templates/readcbr.html:91 msgid "Keyboard Shortcuts" msgstr "" -#: cps/templates/readcbr.html:95 +#: cps/templates/readcbr.html:94 msgid "Previous Page" msgstr "" -#: cps/templates/readcbr.html:96 cps/templates/readcbr.html:165 +#: cps/templates/readcbr.html:95 msgid "Next Page" msgstr "" +#: cps/templates/readcbr.html:96 +msgid "Single Page Display" +msgstr "" + #: cps/templates/readcbr.html:97 -msgid "Scale to Best" +msgid "Long Strip Display" msgstr "" #: cps/templates/readcbr.html:98 -msgid "Scale to Width" +msgid "Scale to Best" msgstr "" #: cps/templates/readcbr.html:99 -msgid "Scale to Height" +msgid "Scale to Width" msgstr "" #: cps/templates/readcbr.html:100 -msgid "Scale to Native" +msgid "Scale to Height" msgstr "" #: cps/templates/readcbr.html:101 -msgid "Rotate Right" +msgid "Scale to Native" msgstr "" #: cps/templates/readcbr.html:102 -msgid "Rotate Left" +msgid "Rotate Right" msgstr "" #: cps/templates/readcbr.html:103 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:104 msgid "Flip Image" msgstr "" -#: cps/templates/readcbr.html:125 +#: cps/templates/readcbr.html:126 +msgid "Display" +msgstr "" + +#: cps/templates/readcbr.html:129 +msgid "Single Page" +msgstr "" + +#: cps/templates/readcbr.html:130 +msgid "Long Strip" +msgstr "" + +#: cps/templates/readcbr.html:135 msgid "Scale" msgstr "" -#: cps/templates/readcbr.html:128 +#: cps/templates/readcbr.html:138 msgid "Best" msgstr "" -#: cps/templates/readcbr.html:129 +#: cps/templates/readcbr.html:139 msgid "Width" msgstr "" -#: cps/templates/readcbr.html:130 +#: cps/templates/readcbr.html:140 msgid "Height" msgstr "" -#: cps/templates/readcbr.html:131 +#: cps/templates/readcbr.html:141 msgid "Native" msgstr "" -#: cps/templates/readcbr.html:136 +#: cps/templates/readcbr.html:146 msgid "Rotate" msgstr "" -#: cps/templates/readcbr.html:147 +#: cps/templates/readcbr.html:157 msgid "Flip" msgstr "" -#: cps/templates/readcbr.html:150 +#: cps/templates/readcbr.html:160 msgid "Horizontal" msgstr "" -#: cps/templates/readcbr.html:151 +#: cps/templates/readcbr.html:161 msgid "Vertical" msgstr "" -#: cps/templates/readcbr.html:156 +#: cps/templates/readcbr.html:166 msgid "Direction" msgstr "" -#: cps/templates/readcbr.html:159 +#: cps/templates/readcbr.html:169 msgid "Left to Right" msgstr "" -#: cps/templates/readcbr.html:160 +#: cps/templates/readcbr.html:170 msgid "Right to Left" msgstr "" -#: cps/templates/readcbr.html:168 -msgid "Reset to Top" -msgstr "" - -#: cps/templates/readcbr.html:169 -msgid "Remember Position" -msgstr "" - -#: cps/templates/readcbr.html:174 +#: cps/templates/readcbr.html:175 msgid "Scrollbar" msgstr "" -#: cps/templates/readcbr.html:177 +#: cps/templates/readcbr.html:178 msgid "Show" msgstr "" -#: cps/templates/readcbr.html:178 +#: cps/templates/readcbr.html:179 msgid "Hide" msgstr ""