diff --git a/cps/admin.py b/cps/admin.py
index 6edc824d..690c3c2e 100755
--- a/cps/admin.py
+++ b/cps/admin.py
@@ -166,7 +166,7 @@ def queue_metadata_backup():
show_text = {}
log.warning("Queuing all books for metadata backup")
helper.set_all_metadata_dirty()
- show_text['text'] = _(u'Books successfully queued fo Metadata Backup')
+ show_text['text'] = _(u'Books successfully queued for Metadata Backup')
return json.dumps(show_text)
diff --git a/cps/templates/book_table.html b/cps/templates/book_table.html
index 9ba173bb..518b3227 100644
--- a/cps/templates/book_table.html
+++ b/cps/templates/book_table.html
@@ -72,7 +72,7 @@
{{ text_table_row('publishers', _('Enter Publishers'),_('Publishers'), false, true) }}
{% if g.user.check_visibility(32768) %}
- {{ book_checkbox_row('is_archived', _('Archiv Status'), false)}}
+ {{ book_checkbox_row('is_archived', _('Archive Status'), false)}}
{% endif %}
{{ book_checkbox_row('read_status', _('Read Status'), false)}}
{% for c in cc %}
diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo
index 1dde9a90..a2a9453b 100644
Binary files a/cps/translations/cs/LC_MESSAGES/messages.mo and b/cps/translations/cs/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/cs/LC_MESSAGES/messages.po b/cps/translations/cs/LC_MESSAGES/messages.po
index 2b140520..07853ed4 100644
--- a/cps/translations/cs/LC_MESSAGES/messages.po
+++ b/cps/translations/cs/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-06-09 21:11+0100\n"
"Last-Translator: Lukas Heroudek \n"
"Language: cs_CZ\n"
@@ -37,467 +37,476 @@ msgstr "Úspěšně obnovené připojení"
msgid "Unknown command"
msgstr "Neznámý příkaz"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Neznámý"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Stránka správce"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Základní konfigurace"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Konfigurace uživatelského rozhraní"
-#: cps/admin.py:309 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:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Vše"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Uživatel nenalezen"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "Nezbývá žádný správce, nelze odebrat roli správce"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Konfigurace Calibre-Web aktualizována"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "Opravdu chcete odstranit Kobo token?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Opravdu chcete vypnout?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json není nakonfigurováno pro webové aplikace"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr objektů skupiny LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr uživatelských objektů LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Přidat nového uživatele"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Změnit SMTP nastavení"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Chyba databáze: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Prvně nastavte svou e-mailovou adresu..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Nastavení e-mailového serveru aktualizováno"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Neznámá chyba. Opakujte prosím později."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Upravit uživatele %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Heslo pro uživatele %(user)s resetováno"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Prohlížeč log souborů"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Požadování balíčku aktualizace"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Stahování balíčku aktualizace"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Rozbalování balíčku aktualizace"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Nahrazování souborů"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Databázová připojení jsou uzavřena"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Zastavuji server"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Aktualizace selhala:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP chyba"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Chyba připojení"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Všeobecná chyba"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, 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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, 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:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Chyba: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Chyba: Žádná reakce od uživatele LDAP serveru"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Databáze není zapisovatelná"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Nastavení e-mailového serveru aktualizováno"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Konfigurace funkcí"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Vyplňte všechna pole!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-mail není z platné domény"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Uživatel '%(user)s' vytvořen"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdívku."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Uživatel '%(nick)s' smazán"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Nezbývá žádný správce, nemůžete jej odstranit"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Uživatel '%(nick)s' aktualizován"
@@ -510,122 +519,122 @@ msgstr "není nainstalováno"
msgid "Execution permissions missing"
msgstr "Chybí povolení k exekuci"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Žádné"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Jejda! Vybraná kniha není k dispozici. Soubor neexistuje nebo není přístupný"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadata úspěšně aktualizována"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Soubor %(file)s nahrán"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Chybí zdrojový nebo cílový formát pro převod"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s není platným jazykem"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
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:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Formát knihy úspěšně smazán"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Kniha úspěšně smazána"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "upravit metadata"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, 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:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Uložení souboru %(file)s se nezdařilo."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Formát souboru %(ext)s přidán do %(book)s"
@@ -638,168 +647,177 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s nenalezen: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Poslat do Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Tento e-mail byl odeslán přes Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web zkušební e-mail"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Zkušební e-mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Začínáme s Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Registrační e-mail pro uživatele: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Převést %(orig)s do %(format)s a poslat do Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Poslat %(format)s do Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Poslat do Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Požadovaný soubor nelze přečíst. Možná nesprávná oprávnění?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Mazání knihy selhalo %(id)s failed: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Mazání knihy %(id)s, cesta ke knize není platná %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Soubor %(file)s nenalezen na Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Zadané uživatelské jméno je již použito"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Chyba stahování obalu"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Chyba formátu obalu"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Vytvoření cesty obalu selhalo"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Unrar binární soubor nenalezen"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Chyba provádění UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Objevte"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1373,12 +1391,12 @@ msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Nyní jste přihlášeni jako: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profil"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profil aktualizován"
@@ -1432,6 +1450,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "upravit metadata"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1665,40 +1688,40 @@ msgstr "Restartovat"
msgid "Shutdown"
msgstr "Vypnout"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Verze"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detaily"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Současná verze"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Zkontrolovat aktualizace"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Provést aktualizaci"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Opravdu chcete restartovat?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1709,11 +1732,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "Zrušit"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Opravdu chcete vypnout?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Probíhá aktualizace, prosím nenačítejte stránku znovu"
@@ -2017,7 +2040,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo
index 17fa6439..8aac3e73 100644
Binary files a/cps/translations/de/LC_MESSAGES/messages.mo and b/cps/translations/de/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po
index 642ea301..a636dc40 100644
--- a/cps/translations/de/LC_MESSAGES/messages.po
+++ b/cps/translations/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2022-08-27 10:00+0200\n"
"Last-Translator: Ozzie Isaacs\n"
"Language: de\n"
@@ -38,456 +38,465 @@ msgstr "Erfolgreich neu verbunden"
msgid "Unknown command"
msgstr "Unbekannter Befehl"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Unbekannt"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Admin Seite"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Basiskonfiguration"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Benutzeroberflächenkonfiguration"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "Benutzer bearbeiten"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Alle"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Benutzer nicht gefunden"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} Benutzer erfolgreich gelöscht"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Ungültige Anfrage"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Guest Name kann nicht geändert werden"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Guest Benutzer kann diese Rolle nicht haben"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden"
-#: cps/admin.py:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Ungültige Rolle"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Guest Benutzer kann diese Sichtbarkeit nicht haben"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Ungültige Sichtbarkeit"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Keine gültige Sprache gewählt"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Keine gültige Buchsprache gewählt"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parameter wurde nicht gefunden"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Ungültige Lese Spalte"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Ungültiger Spaltenname für Einschränkung"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Konfiguration von Calibre-Web wurde aktualisiert"
-#: cps/admin.py:595
+#: 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:597
+#: 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:599
+#: 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:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr "Ort der Calibre Datenbank editieren?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{} Synchronisationseinträge gelöscht"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Tag nicht gefunden"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Ungültige Aktion"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json ist nicht für Web Anwendungen konfiguriert"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Bitte einen LDAP Service Account und Password eingeben"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Bitte einen LDAP Service Account eingeben"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Gruppen Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Benutzer Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
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:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Neuen Benutzer hinzufügen"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "SMTP-Einstellungen ändern"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account Verifikation erfolgreich"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Datenbankfehler: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Bitte zuerst E-Mail Adresse konfigurieren..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Einstellungen des E-Mail-Servers aktualisiert"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr "Einstellungen für Geplante Aufgaben"
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr "Ungültigen Startzeitpunkt für Aufgaben spezifiziert"
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr "Ungültige Laufzeit für Aufgaben spezifiziert"
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr "Einstellungen für Geplante Aufgaben aktualisiert"
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr "Einstellungsdatenbank ist nicht schreibbar"
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Benutzer %(nick)s bearbeiten"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Logdatei Anzeige"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Frage Update an"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Lade Update herunter"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Entpacke Update"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Ersetze Dateien"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Schließe Datenbankverbindungen"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Stoppe Server"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Update fehlgeschlagen:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP Fehler"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Timeout beim Verbindungsaufbau"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Allgemeiner Fehler"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr "Updatedatei konnte nicht in Temporärem Ordner gespeichert werden"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "Dateien konnten während des Updates nicht ausgetauscht werden"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht extrahiert werden"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fehler: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} Benutzer erfolgreich importiert"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Datenbank ist nicht schreibbar"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "Datenbankeinstellung aktualisiert"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "Datenbank-Konfiguration"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Bitte alle Felder ausfüllen!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-Mail bezieht sich nicht auf eine gültige Domain"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Benutzer '%(user)s' angelegt"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Es existiert bereits ein Account für diese E-Mailadresse oder diesen Benutzernamen."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Benutzer '%(nick)s' gelöscht"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Guest Benutzer kann nicht gelöscht werden"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Benutzer '%(nick)s' aktualisiert"
@@ -500,122 +509,122 @@ msgstr "Nicht installiert"
msgid "Execution permissions missing"
msgstr "Ausführeberechtigung fehlt"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Keine"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr "Benutzer hat keine Berechtigung Cover hochzuladen"
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "IDs unterscheiden nicht Groß-Kleinschreibung, alte ID wird überschrieben"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadaten wurden erfolgreich aktualisiert"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr "Fehler beim editieren des Buches: {}"
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Datei %(file)s hochgeladen"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Quell- oder Zielformat für Konvertierung fehlt"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "'%(langname)s' ist keine gültige Sprache"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Buch Format erfolgreich gelöscht"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Buch erfolgreich gelöscht"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "Keine Erlaubnis zum Bücher löschen"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "Metadaten editieren"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, 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:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr "Benutzer hat kein Recht zusätzliche Dateiformate hochzuladen"
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Fehler beim Speichern der Datei %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt"
@@ -628,165 +637,174 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s nicht gefunden: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr "An E-Reader senden"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Diese E-Mail wurde durch Calibre-Web versendet."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web Test-E-Mail"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Test-E-Mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Loslegen mit Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Registrierungs-E-Mail für Benutzer %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Konvertiere %(orig)s nach %(format)s und sende an E-Reader"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Sende %(format)s an E-Reader"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s an E-Reader gesendet"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Die angeforderte Datei konnte nicht gelesen werden. Evtl. falsche Zugriffsrechte?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr "Gelesenen Status konnte nicht aktualisiert werden: {}"
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Löschen des Ordners für Buch %(id)s ist fehlgeschlagen, der Pfad hat Unterordner: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Löschen von Buch %(id)s fehlgeschlagen: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Lösche Buch %(id)s nur aus Datenbank, Pfad zum Buch in Datenbank ist nicht gültig: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Umbenennen des Autors '%(src)s' zu '%(dest)s' schlug fehl: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Umbenennen des Titels '%(src)s' zu '%(dest)s' schlug fehl: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr "Fehler beim umbenennen der Datei im Pfad: {}"
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Benutzername ist schon vorhanden"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Ungültiges E-Mail Adressformat"
-#: cps/helper.py:811
+#: cps/helper.py:815
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:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Fehler beim Herunterladen des Covers"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Coverdatei fehlerhaft"
-#: cps/helper.py:827
+#: cps/helper.py:831
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:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Fehler beim Erzeugen des Ordners für die Coverdatei"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "Ungültiger Cover Dateiinhalt"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Es werden nur jpg/jpeg Dateien als Cover untertützt"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "UnRar Programm nicht gefunden"
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr "Fehler beim Ausführen von UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Entdecke"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
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"
@@ -1356,12 +1374,12 @@ msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts ange
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Eingeloggt als: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's Profil"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profil aktualisiert"
@@ -1415,6 +1433,11 @@ msgstr "Calibre Datenbank wird neu verbunden"
msgid "E-mail"
msgstr "E-Mail"
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "Metadaten editieren"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1646,40 +1669,40 @@ msgstr "Neustart"
msgid "Shutdown"
msgstr "Calibre-Web beenden"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "Versionsinformation"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Details"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Aktuelle Version"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Nach Update suchen"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Update durchführen"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Calibre-Web wirklich neustarten?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1690,11 +1713,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "Abbruch"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Calibre-Web wirklich anhalten?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Updatevorgang, Seite bitte nicht neu laden"
@@ -1996,7 +2019,7 @@ msgid "Comments"
msgstr "Kommentare"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr "Archivstatus"
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo
index 2354f321..b547cfdf 100644
Binary files a/cps/translations/el/LC_MESSAGES/messages.mo and b/cps/translations/el/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/el/LC_MESSAGES/messages.po b/cps/translations/el/LC_MESSAGES/messages.po
index 96e1e54c..20e12245 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Depountis Georgios\n"
"Language: el\n"
@@ -37,467 +37,476 @@ msgstr "Επιτυχής επανασύνδεση"
msgid "Unknown command"
msgstr "Άγνωστη εντολή"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "ʼΑγνωστο"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Σελίδα διαχειριστή"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Βασική Διαμόρφωση"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "UI Διαμόρφωση"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "Χρήστης Διαχειριστής"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Όλα"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Δεν βρέθηκε χρήστης"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:603
+#: cps/admin.py:613
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json Δεν Έχει Διαμορφωθεί Για Διαδικτυακή Εφαρμογή"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Φύλλο Καταγραφής Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Πρόσβαση Φύλλου Καταγραφης Τοποθεσίας δεν είναι έγκυρη, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Παρακαλούμε Συμπλήρωσε ένα Πάροχο LDAP, Θύρα, DN και Αντικείμενο Αναγνώρισης Χρήστη"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Προσθήκη νέου χρήστη"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Σφάλμα βάσης δεδομένων: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Επεξεργασία χρήστη %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Προβολέας αρχείου φύλλου καταγραφής"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Αίτημα πακέτου ενημέρωσης"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Κατεβάζει πακέτο ενημέρωσης"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Ανοίγει πακέτο ενημέρωσης"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Αντικατάσταση αρχείων"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Σταματάει το διακομιστή"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Η ενημέρωση απέτυχε:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP Σφάλμα"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Γενικό σφάλμα"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Σφάλμα: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Η DB δεν μπορεί να Γραφτεί"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Διαμόρφωση Λειτουργίας"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "Το E-mail δεν είναι από έγκυρο domain"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν"
@@ -510,122 +519,122 @@ msgstr "δεν εγκαταστάθηκε"
msgid "Execution permissions missing"
msgstr "Λείπουν άδειες εκτέλεσης"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, fuzzy, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Κανένα"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Τα αναγνωριστικά δεν έχουν Διάκριση Πεζών-Κεφαλαίων Γραμμάτων, Αντικατάσταση Παλιού Αναγνωριστικού"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Τα μεταδεδομένα ενημερώθηκαν επιτυχώς"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Το αρχείο %(file)s ανέβηκε"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Η δομή πηγής ή προορισμού για μετατροπή λείπει"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Το βιβλίο είναι σε σειρά επιτυχώς για μετατροπή σε %(book_format)s"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Υπήρξε ένα σφάλμα στη μετατροπή αυτού του βιβλίου: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Το βιβλίο που ανέβηκε πιθανόν να υπάρχει στη βιβλιοθήκη, σκέψου να το αλλάξεις πριν ανεβάσεις νέο: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s δεν είναι μια έγκυρη γλώσσα"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Το αρχείο προς ανέβασμα πρέπει να έχει μια επέκταση"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Το αρχείο %(filename)s δεν μπόρεσε να αποθηκευτεί σε temp dir"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Αποτυχία Μετακίνησης Αρχείου Φόντου %(file)s: %(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "επεξεργασία μεταδεδομένων"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η άδεια απορρήφθηκε)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Μορφή αρχείου %(ext)s προστέθηκε σε %(book)s"
@@ -638,168 +647,177 @@ msgstr "Η ρύθμιση του Google Drive δεν ολοκληρώθηκε,
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr "Η ανάκληση ονόματος δεν έχει επαληθευτεί, παρακαλούμε ακολούθησε τα βήματα για την επαλήθευση ονόματος στην κονσόλα προγραμματιστή google"
-#: cps/helper.py:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "%(format)s η δομή δεν βρέθηκε για την ταυτότητα βιβλίου: %(book)d"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s δεν βρέθηκε: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Αποστολή στο Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Αυτό το e-mail έχει σταλεί μέσω Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web δοκιμαστικό e-mail"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Δοκιμαστικό e-mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Ξεκινήστε με το Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "e-mail εγγραφής για χρήστη: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Μετατροπή %(orig)s σε %(format)s και αποστολή στο Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Αποστολή %(format)s στο Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Αποστολή στο Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Το αρχείου που χητήθηκε δεν μπορεί να διαβαστεί. Μπορεί να υπάρχουν λαθασμένες άδειες;"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Η διαγραφή φακέλου βιβλίου για το βιβλίο %(id)s απέτυχε, η πορεία έχει υπό-φακέλους: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Η διαγραφή βιβλίου %(id)s απέτυχε: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Διαγραφή βιβλίου %(id)s, η πορεία βιβλίου δεν είναι έγκυρη: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Αυτό το όνομα χρήστη έχει ήδη παρθεί"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Σφάλμα Κατεβάσματος Φόντου"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Σφάλμα Μορφής Φόντου"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Αποτυχία δημιουργίας πορείας για φόντο"
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Το αρχείο φόντου δεν είναι ένα έγκυρο αρχείο εικόνας, ή δεν μπόρεσε να αποθηκευτεί"
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Σφάλμα εκτέλεσης UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Ανακάλυψε"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1373,12 +1391,12 @@ msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομ
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Έχεις συνδεθεί ως: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's προφίλ"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Το προφίλ ενημερώθηκε"
@@ -1432,6 +1450,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "επεξεργασία μεταδεδομένων"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1665,40 +1688,40 @@ msgstr "Επανεκκίνηση"
msgid "Shutdown"
msgstr "Κλείσιμο"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Έκδοση"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Λεπτομέρειες"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Τρέχουσα έκδοση"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Έλεγχος για Ενημέρωση"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Πραγματοποίηση Ενημέρωσης"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις επανεκκίνηση"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1709,11 +1732,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "Ακύρωση"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Γίνεται ενημέρωση, παρακαλούμε μη φορτώσεις ξανά αυτή τη σελίδα"
@@ -2017,7 +2040,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo
index c65d8eaa..ff56d100 100644
Binary files a/cps/translations/es/LC_MESSAGES/messages.mo and b/cps/translations/es/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po
index bf1330a7..6f03a15c 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-05-25 17:22+0200\n"
"Last-Translator: minakmostoles \n"
"Language: es\n"
@@ -41,467 +41,476 @@ msgstr "Reconexión correcta"
msgid "Unknown command"
msgstr "Comando desconocido"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Libro puesto en la cola de envío a %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Desconocido"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Página de administración"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Configuración básica"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Configuración de la interfaz de usuario"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "Editar usuarios"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Todo"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Usuario no encontrado"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} usuarios eliminados con éxito"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Petición mal formulada"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "El nombre de invitado no se puede cambiar"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "El invitado no puede tener ese rol"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Rol inválido"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "El invitado no puede tener esta vista"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Vista no válida"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "No hay un sitio válido"
-#: cps/admin.py:518
+#: 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:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parámetro no encontrado"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Columna de lectura no válida"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Columna restringida no válida"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Configuración de Calibre-Web actualizada"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "¿Realmente deseas borrar este dominio?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "¿Realmente quieres borrar este usuario?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "¿Realmente quieres eliminar este estante?"
-#: cps/admin.py:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Etiqueta no encontrada"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Acción no válida"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
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:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
#, 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:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Por favor, introduce una cuenta de servicio LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "El filtro de LDAP \"Member User\" tiene paréntesis no coincidentes"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Añadir un nuevo usuario"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Cambiar parámetros de correo"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Verificación de cuenta de Gmail exitosa"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Error en la base de datos: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure su correo electrónico primero..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Actualizados los ajustes del servidor de correo electrónico"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuario %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Contraseña para el usuario %(user)s reinicializada"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura primero los parámetros del servidor SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visor del fichero de log"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Solicitando paquete de actualización"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Descargando paquete de actualización"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Descomprimiendo paquete de actualización"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Remplazando archivos"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Los conexiones con la base datos están cerradas"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Parando el servidor"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Falló la actualización:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Error HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Error de conexión"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Error general"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, 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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Error: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Error: el servidor LDAP no ha devuelto ningún usuario"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
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:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} Usuario importado con éxito"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "La base de datos no es modificable"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Actualizados los ajustes del servidor de correo electrónico"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Configuración de la base de datos"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "¡Por favor, rellena todos los campos!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "El correo electrónico no tiene un dominio válido"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Encontrada una cuenta existente para este correo electrónico o nombre de usuario."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' eliminado"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "No puedes borrar al Usuario Invitado"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
@@ -514,122 +523,122 @@ msgstr "no instalado"
msgid "Execution permissions missing"
msgstr "Faltan permisos de ejecución"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Ninguno"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "oh, oh, el libro seleccionado no está disponible. El archivo no existe o no es accesible"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Los identificadores no distinguen entre mayúsculas y minúsculas, sobrescribiendo el identificador antiguo"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadatos actualizados con éxito"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "El fichero %(file)s ha sido subido"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Falta la fuente o el formato de destino para la conversión"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s no es un idioma válido"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "El archivo a subir debe tener una extensión"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Formato de libro eliminado con éxito"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Libro eliminado con éxito"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "editar metadatos"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex) no es un número válido, saltando"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Fallo al crear la ruta %(path)s (permiso denegado)"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Fallo al guardar el archivo %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Archivo con formato %(ext)s añadido a %(book)s"
@@ -642,168 +651,177 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s no encontrado: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Enviar al Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Este correo electrónico ha sido enviado usando Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Correo de prueba de Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Comprobar correo electrónico"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Primeros pasos con Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Correo electrónico de registro para el usuario: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Convertir %(orig)s a %(format)s y enviar al Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Enviado %(format)s al Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Enviar al Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "El archivo solicitado no puede ser leído. ¿Quizás existen problemas con los permisos?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Fallo al intentar borrar la carpeta del libro %(id)s, la ruta tiene subcarpetas: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "El eliminado del libro %(id)s falló: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Borrando el libro %(id)s, la ruta del libro es no válida: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con el error: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Fichero %(file)s no encontrado en Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con el error: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "La ruta %(path)s del libro no fue encontrada en Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Este nombre de usuario ya está en uso"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Dirección de correo no válida"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Error al descargar la cubierta"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Error en el formato de la cubierta"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Error al crear una ruta para la cubierta"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Sólo se admiten como portada los archivos jpg/jpeg"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "No se encuentra el archivo binario UnRar"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Error ejecutando UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Descubrir"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1377,12 +1395,12 @@ msgstr "Por favor, introduce un usuario válido para restablecer la contraseña"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ahora estás conectado como: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Perfil actualizado"
@@ -1436,6 +1454,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "editar metadatos"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1669,40 +1692,40 @@ msgstr "Reiniciar"
msgid "Shutdown"
msgstr "Apagar"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versión"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detalles"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Versión actual"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Comprobar actualizaciones"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Realizar actualización"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "¿Realmente quieres reiniciar?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1713,11 +1736,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Cancelar"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "¿Realmente quiere detener?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Actualizando. Por favor, no recargue la página"
@@ -2021,7 +2044,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo
index 43da2a33..85a11716 100644
Binary files a/cps/translations/fi/LC_MESSAGES/messages.mo and b/cps/translations/fi/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/fi/LC_MESSAGES/messages.po b/cps/translations/fi/LC_MESSAGES/messages.po
index c465cf1a..1ac6b6b7 100644
--- a/cps/translations/fi/LC_MESSAGES/messages.po
+++ b/cps/translations/fi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
"Last-Translator: Samuli Valavuo \n"
"Language: fi\n"
@@ -38,464 +38,473 @@ msgstr ""
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Tuntematon"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Ylläpitosivu"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Perusasetukset"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Käyttöliittymän asetukset"
-#: cps/admin.py:309 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:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Kaikki"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web asetukset päivitetty"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:603
+#: 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:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Lisää uusi käyttäjä"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Muuta SMTP asetuksia"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Sähköpostipalvelimen tiedot päivitetty"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Muokkaa käyttäjää %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Käyttäjän %(user)s salasana palautettu"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Lokitiedoston katselin"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Haetaan päivitystiedostoa"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Ladataan päivitystiedostoa"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Puretaan päivitystiedostoa"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Korvataan tiedostoja"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Tietokantayhteydet on katkaistu"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Sammutetaan palvelin"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Päivitys epäonnistui:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP virhe"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Yhteysvirhe"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Aikakatkaisu yhteyttä luotaessa"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Yleinen virhe"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Sähköpostipalvelimen tiedot päivitetty"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Ominaisuuksien asetukset"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Ole hyvä ja täytä kaikki kentät!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "Sähköpostiosoite ei ole toimivasta domainista"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Käyttäjä '%(user)s' lisätty"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Tälle sähköpostiosoitteelle tai tunnukselle löytyi jo tili."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Käyttäjä '%(nick)s' poistettu"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Käyttäjä '%(nick)s' päivitetty"
@@ -508,122 +517,122 @@ msgstr "ei asennettu"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Ei mitään"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Virhe eKirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla:"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadata päivitetty onnistuneesti"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Tiedosto %(file)s tallennettu"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Lähteen tai kohteen tiedostomuoto puuttuu"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s ei ole kelvollinen kieli"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Ladattavalla tiedostolla on oltava tiedostopääte"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "muokkaa metadataa"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Tiedoston %(file)s tallennus epäonnistui."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s"
@@ -636,167 +645,176 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s ei löydy: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Lähetä Kindleen"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Tämä sähköposti on lähetetty Calibre-Web:sta."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web testisähköposti"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Testi sähköposti"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Aloita Calibre-Web:in käyttö"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Rekiströintisähköposti käyttäjälle: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Muunna %(orig)s muotoon %(format)s ja lähetä Kindleen"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Lähetä %(format)s Kindleen"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Lähetä Kindleen"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Haettua tiedostoa ei pystytty lukemaan. Ehkä vaäärät oikeudet?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Löydä"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1369,12 +1387,12 @@ msgstr ""
msgid "You are now logged in as: '%(nickname)s'"
msgstr "olet kirjautunut tunnuksella: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)sn profiili"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profiili päivitetty"
@@ -1428,6 +1446,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "muokkaa metadataa"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1661,40 +1684,40 @@ msgstr "Uudellenkäynnistä Calibre-Web"
msgid "Shutdown"
msgstr "Sammuta Calibre-Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versio"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Yksityiskohdat"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Nykyinen versio"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Tarkista päivitykset"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Päivitä"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Haluatko varmasti uudelleenkäynnistää Calibre-Webin?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1705,11 +1728,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Haluatko varmasti pysäyttää Calibre-Webin?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Päivitetään, älä päivitä sivua"
@@ -2013,7 +2036,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo
index d37561ef..a6d7e4a6 100644
Binary files a/cps/translations/fr/LC_MESSAGES/messages.mo and b/cps/translations/fr/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po
index 5d99af6b..6dc64d15 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-06-07 06:47+0200\n"
"Last-Translator: \n"
"Language: fr\n"
@@ -53,467 +53,476 @@ msgstr "Reconnecté avec succès"
msgid "Unknown command"
msgstr "Commande inconnue"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Le livre a été mis en file de traitement avec succès pour un envoi vers %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Inconnu"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Page admin"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Configuration principale"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Configuration de l’interface utilisateur"
-#: cps/admin.py:309 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:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Tout"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "L'utilisateur n'a pas été trouvé"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} utilisateurs supprimés avec succès"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Demande malformée"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Le nom de l’invité ne peut pas être modifié"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "L’invité ne peut pas avoir ce rôle"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Rôle invalide"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "L’invité ne peut pas avoir cette vue"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Vue invalide"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Aucun paramètre régional valide n’est donné"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Aucune langue de livre valide donnée"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Paramètre non trouvé"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Colonne de lecture non valide"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Colonne restreinte non valide"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Configuration de Calibre-Web mise à jour"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "Voulez-vous vraiment supprimer ce domaine ?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "Voulez-vous vraiment supprimer cet utilisateur ?"
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{} entrées de synchronisation supprimées"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Étiquette introuvable"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Action invalide"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
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:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
#, 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:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Veuillez entrer un compte de service LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
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:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
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:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
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:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Ajouter un nouvel utilisateur"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Modifier les paramètres du serveur de courriels"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "La vérification du compte Gmail réussie"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Erreur de la base de données: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Veuillez d'abord configurer votre adresse de courriel..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Les paramètres du serveur de courriels ont été mis à jour"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Éditer l'utilisateur %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Veuillez configurer les paramètres SMTP au préalable..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visualiseur de fichier journal"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Demande de mise à jour"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Téléchargement de la mise à jour"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Décompression de la mise à jour"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Remplacement des fichiers"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Les connexions à la base de données ont été fermées"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Arrêt du serveur"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "La mise à jour a échoué :"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Erreur HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Erreur de connexion"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Erreur générale"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, 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:1496
+#: cps/admin.py:1506
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:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erreur : %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
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:1615
+#: cps/admin.py:1625
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:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} utilisateur importé avec succès"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "La base de données n'est pas accessible en écriture"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Les paramètres du serveur de courriels ont été mis à jour"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Configuration des options"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Veuillez compléter tous les champs !"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Utilisateur '%(user)s' créé"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Un compte existant a été trouvé pour cette adresse de courriel ou pour ce surnom."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Utilisateur '%(nick)s' supprimé"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Impossible de supprimer l’utilisateur Invité"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Utilisateur '%(nick)s' mis à jour"
@@ -526,122 +535,122 @@ msgstr "non installé"
msgid "Execution permissions missing"
msgstr "Les permissions d'exécutions manquantes"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Aucun"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Les identificateurs ne sont pas sensibles à la casse, écrasant l’ancien identificateur"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Les métadonnées ont bien été mises à jour"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Le fichier %(file)s a été téléchargé"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
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:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s n'est pas une langue valide"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Pour être déposé le fichier doit avoir une extension"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Le format du livre a été supprimé avec succès"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Le livre a été supprimé avec succès"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "Vous n’avez par les permissions pour supprimer les livres"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "modifier les métadonnées"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s n’est pas un nombre valide, ignoré"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, 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:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Échec de la sauvegarde du fichier %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s"
@@ -654,168 +663,177 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s introuvable : %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Envoyer vers Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Ce courriel a été envoyé depuis Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Courriel de test de Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Courriel de test"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Bien démarrer avec Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Courriel d’inscription pour l’utilisateur : %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Convertir de %(orig)s vers %(format)s et envoyer au Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Envoyer %(format)s vers le Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Envoyer vers Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Le fichier demandé n’a pu être lu. Problème de permission d’accès ?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Échec de la suppression du dossier de livre pour le livre %(id)s, le chemin d’accès comporte des sous-dossiers : %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "La suppression du livre %(id)s a échoué: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Suppression du livre %(id)s, le chemin du livre est invalide : %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Le chemin du livre %(path)s n'a pas été trouvé dans Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Un compte existant a été trouvé pour cette adresse de courriel."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Cet utilisateur est déjà pris"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Format de l’adresse courriel invalide"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Erreur lors du téléchargement de la couverture"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Erreur de format de couverture"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Impossible de créer le chemin pour la couverture"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "Contenu du fichier de couverture invalide"
-#: cps/helper.py:880
+#: cps/helper.py:884
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:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Fichier binaire Unrar non trouvé"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Une erreur est survenue lors de l'exécution d'UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Découvrir"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1389,12 +1407,12 @@ msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot d
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Profil de %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profil mis à jour"
@@ -1448,6 +1466,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "modifier les métadonnées"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1681,40 +1704,40 @@ msgstr "Redémarrer Calibre-Web"
msgid "Shutdown"
msgstr "Arrêter Calibre-Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Détails"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Version actuelle"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Rechercher les mises à jour"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Effectuer la mise à jour"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Voulez-vous vraiment redémarrer Calibre-Web?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1725,11 +1748,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "Annuler"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Voulez-vous vraiment arrêter Calibre-Web?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Mise à jour en cours, ne pas rafraîchir la page"
@@ -2033,7 +2056,7 @@ msgid "Comments"
msgstr "Commentaires"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/gl/LC_MESSAGES/messages.mo b/cps/translations/gl/LC_MESSAGES/messages.mo
index 3e3c6538..4f9d5e00 100644
Binary files a/cps/translations/gl/LC_MESSAGES/messages.mo and b/cps/translations/gl/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/gl/LC_MESSAGES/messages.po b/cps/translations/gl/LC_MESSAGES/messages.po
index f7c95e12..4bafd985 100644
--- a/cps/translations/gl/LC_MESSAGES/messages.po
+++ b/cps/translations/gl/LC_MESSAGES/messages.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2022-08-11 16:46+0200\n"
"Last-Translator: pollitor \n"
"Language: gl\n"
@@ -36,456 +36,465 @@ msgstr "Reconexión correcta"
msgid "Unknown command"
msgstr "Orde descoñecida"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Libro posto na cola de envío a %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Descoñecido"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Páxina de administración"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Configuración Básica"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Configuración da Interface de Usuario"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "Editar Usuarios"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Todo"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Usuario non atopado"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} usuarios borrados con éxito"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Petición mal formada"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "O nome do convidado non se pode cambiar"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "O convidado non pode ter este rol"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Rol non válido"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "O convidado non pode ter esta vista"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Vista non válida"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Non hai unha localización válida"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Non se indicou unha lingua válida para o libro"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parámetro non atopado"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Columna de lectura non válida"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Columna restrinxida non válida"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Configuración de Calibre-Web actualizada"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "De verdade desexas borrar este dominio?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "De verdade queres borrar este usuario?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "De verdade queres eliminar este andel?"
-#: cps/admin.py:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "Elimináronse {} entradas de sincronización"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Etiqueta non atopada"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Acción non válida"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
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:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
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:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Por favor, introduce unha conta de servizo LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "O LDAP Group Object Filter ten parénteses que non casan"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "O LDAP Group Object Filter ten parénteses que non casan"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "O filtro de LDAP \"Member User\" ten parénteses que non casan"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Engadir un usuario novo"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Cambiar os parámetros do correo"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Verificación da conta de Gmail exitosa"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Error na base de datos: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure o seu correo electrónico primeiro..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Actualizáronse os axustes do servidor de correo electrónico"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr "Editar a Configuración das Tarefas Programadas"
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr "Indicada unha hora incorrecta de comezo de tarefa"
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr "Indicada unha duracción incorrecta para a tarefa"
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr "Actualizouse a configuración das tarefas programadas"
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "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:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr "A configuración da DB non se pode escribir"
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar o Usuario %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Reiniciada a contrasinal para o usuario %(user)s"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura primeiro os parámetros do servidor SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visor do ficheiro de rexistro"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Solicitando paquete de actualización"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Descargando paquete de actualización"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Descomprimendo paquete de actualización"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Remplazando archivos"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "As conexións coa base datos están pechadas"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Detendo o servidor"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "A actualización fallou:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Erro HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Erro de conexión"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Erro xeral"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "Non se puideron substituír os ficheiros durante a actualización"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "Erro ao extraer polo menos un usuario LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Erro ao crear polo menos un usuario LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erro: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Erro: o servidor LDAP non devolveu ningún usuario"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
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:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "Usuario {} importado con éxito"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "A base de datos non é modificable"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "Actualizados os axustes da base de datos"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "Configuración da base de datos"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Por favor, cubra todos os campos!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "O correo electrónico non ven dun dominio válido"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Atopada unha conta existente para este correo electrónico ou nome de usuario."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' eliminado"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Non se pode borrar ao Usuario Invitado"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
@@ -498,122 +507,122 @@ msgstr "non instalado"
msgid "Execution permissions missing"
msgstr "Faltan permisos de execución"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Ningún"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title 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:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
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:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Os identificadores non distinguen entre maiúsculas e minúsculas, sobrescribindo o identificador antigo"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadatos actualizados con éxito"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr "Erro editando libro: {}"
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "O ficheiro %(file)s subiuse"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Falta a fonte ou o formato de destino para a conversión"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s non é unha lingua válida"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "O arquivo que se vai cargar debe ter unha extensión"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Formato de libro eliminado con éxito"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Libro eliminado con éxito"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "Vostede non ten permisos para borrar libros"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "editar metadatos"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s non é un número válido, saltando"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
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:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Fallo ao crear a ruta %(path)s (permiso denegado)"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Fallo ao gardar o arquivo %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Arquivo con formato %(ext)s engadido a %(book)s"
@@ -626,165 +635,174 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s non atopado: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr "Enviar ao Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Este correo electrónico enviouse empregando Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Correo de proba de Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Comprobar correo electrónico"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Primeiros pasos con Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Correo electrónico de rexistro para o usuario: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Convertir %(orig)s a %(format)s e enviar ao Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Enviado %(format)s ao Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr "Enviar ao Kindle %(book)s"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "O arquivo solicitado non pode lerse. Quizais existen problemas cos permisos?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr "O estado de lectura non pode fixarse: {}"
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Fallo ao intentar borrar a carpeta do libro %(id)s, a ruta ten subcarpetas: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "O borrado do libro %(id)s fallou: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Borrando o libro %(id)s, a ruta de libro non é válida: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "O renomeado do título de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Ficheiro %(file)s non atopado en Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "O renomeado do título de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr "Erro ao renomear o ficheiro na ruta: {}"
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "A ruta %(path)s do libro non se atopou en Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Atopada unha conta existente para ese enderezo de correo electrónico"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Este nome de usuario xa está en uso"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Enderezo de correo non válido"
-#: cps/helper.py:811
+#: cps/helper.py:815
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:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Erro ao descargar a cuberta"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Erro no formato da cuberta"
-#: cps/helper.py:827
+#: cps/helper.py:831
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:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Erro ao crear unha ruta para a cuberta"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "Contido do arquivo de cuberta non válido"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Soamente se admiten como cuberta os arquivos jpg/jpeg"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Non se atopa o arquivo binario de UnRar"
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr "Erro executando UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Descubrir"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
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"
@@ -1354,12 +1372,12 @@ msgstr "Por favor, introduce un usuario válido para restablecer a contrasinal"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Agora estás conectado como: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Perfil actualizado"
@@ -1413,6 +1431,11 @@ msgstr "Reconectando a base de datos de Calibre"
msgid "E-mail"
msgstr "Correo electrónico"
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "editar metadatos"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1644,40 +1667,40 @@ msgstr "Reiniciar"
msgid "Shutdown"
msgstr "Apagar"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "Información de versión"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versión"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detalles"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Versión actual"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Comprobar actualizacións"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Realizar actualización"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "De verdade queres reiniciar?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Vale"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1688,11 +1711,11 @@ msgstr "Vale"
msgid "Cancel"
msgstr "Cancelar"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "De verdade quere deter?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Actualizando. Por favor, non recargue a páxina"
@@ -1994,7 +2017,7 @@ msgid "Comments"
msgstr "Comentarios"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr "Estado do arquivo"
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo
index 1ae553ec..d6aa9f74 100644
Binary files a/cps/translations/hu/LC_MESSAGES/messages.mo and b/cps/translations/hu/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/hu/LC_MESSAGES/messages.po b/cps/translations/hu/LC_MESSAGES/messages.po
index 437184ec..1628a10b 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
"Last-Translator: \n"
"Language: hu\n"
@@ -38,464 +38,473 @@ msgstr ""
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "A könyv sikeresen küldésre lett jelölve a következő címre: %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Ismeretlen"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Rendszergazda oldala"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Alapvető beállítások"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Felhasználói felület beállításai"
-#: cps/admin.py:309 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:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "A Calibre-Web konfigurációja frissítve."
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Új felhasználó hozzáadása"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "SMTP beállítások változtatása"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Az e-mail kiszolgáló beállításai frissítve."
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Ismeretlen hiba történt. Próbáld újra később!"
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr " A felhasználó szerkesztése: %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Először be kell állítani az SMTP levelező beállításokat..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Frissítési csomag kérése"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Frissítési csomag letöltése"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Frissítési csomag kitömörítése"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Fájlok cserélése"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Adatbázis kapcsolatok lezárva"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Szerver leállítása"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "A frissítés nem sikerült:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP hiba"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Kapcsolódási hiba"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Általános hiba"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Az e-mail kiszolgáló beállításai frissítve."
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Funkciók beállítása"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Az összes mezőt ki kell tölteni!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "Az e-mail tartománya nem érvényes."
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "A következő felhasználó létrehozva: %(user)s"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Már létezik felhasználó ehhez az e-mail címhez vagy felhasználói névhez."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "A felhasználó törölve: %(nick)s"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "A felhasználó frissítve: %(nick)s"
@@ -508,122 +517,122 @@ msgstr "nincs telepítve"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Nincs"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title 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:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "A metaadatok sikeresen frissültek"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
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:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "A(z) %(langname)s nem érvényes nyelv"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "A feltöltendő fájlnak kiterjesztéssel kell rendelkeznie!"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "Metaadatok szerkesztése"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, 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:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Nem sikerült elmenteni a %(file)s fájlt."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, 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."
@@ -636,167 +645,176 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s nem található: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Küldés Kindle-re"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Ez az e-mail a Calibre-Web-en keresztül lett küldve."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web teszt e-mail"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Teszt e-mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Kezdő lépések a Calibre-Web-bel"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Regisztrációs e-mail a következő felhasználóhoz: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "%(orig)s konvertálása %(format)s-ra és küldés Kindle-re"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "%(format)s küldése Kindle-re"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Küldés Kindle-re"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "A kért fájl nem olvasható. Esetleg jogosultsági probléma lenne?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "A \"%(file)s\" fájl nem található a Google Drive-on"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "A könyv elérési útja (\"%(path)s\") nem található a Google Drive-on"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Már létezik felhasználó ehhez az e-mail címhez."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Felfedezés"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1369,12 +1387,12 @@ msgstr ""
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profilja"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "A profil frissítve."
@@ -1428,6 +1446,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "Metaadatok szerkesztése"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1661,40 +1684,40 @@ msgstr "A Calibre adatbázis újraindítása"
msgid "Shutdown"
msgstr "A Calibre adatbázis leállítása"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Verzió"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Részletek"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Jelenlegi verzió"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Frissítés keresése"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Frissítés elkezdése"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Valóban újra akarod indítani a Calibre-Web-et?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1705,11 +1728,11 @@ msgstr "OK"
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Valóban le akarod állítani a Calibre-Web-et?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Frissítés folyamatban, ne töltsd újra az oldalt"
@@ -2013,7 +2036,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo
index 87bad995..68b844bb 100644
Binary files a/cps/translations/it/LC_MESSAGES/messages.mo and b/cps/translations/it/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po
index 52190f84..a472ddd9 100644
--- a/cps/translations/it/LC_MESSAGES/messages.po
+++ b/cps/translations/it/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: ElQuimm \n"
"Language: it\n"
@@ -37,457 +37,466 @@ msgstr "Ricollegato con successo"
msgid "Unknown command"
msgstr "Comando sconosciuto"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Libro accodato con successo per essere spedito a %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Sconosciuto"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Pagina di amministrazione"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Configurazione di base"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Configurazione dell'interfaccia utente"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "Modifica gli utenti"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Tutti"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Utente non trovato"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} utente eliminato con successo"
-#: cps/admin.py:417 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 "tutte le lingue presenti"
-#: cps/admin.py:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Richiesta non formulata correttamente"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Il nome dell'utente Guest (ospite) non può essere modificato"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "L'utente Guest (ospite) non può avere questo ruolo"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr "Il valore deve essere o vero o flaso"
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Ruolo non valido"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "L'utente Guest (ospite) non può avere questa schermata"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Visualizzazione invalida"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Nessuna lingua valida indicata"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Nessuna lingua valida per il libro"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parametro non trovato"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Colonna di lettura non valida"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Colonna con restrizioni non valida"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "La configurazione di Calibre-Web è stata aggiornata"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "Vuoi veramente eliminare questo dominio?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "Vuoi veramente eliminare questo utente?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "Vuoi veramente eliminare questo scaffale?"
-#: cps/admin.py:603
+#: 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 dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:605
+#: 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 dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:607
+#: 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 dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:609
+#: cps/admin.py:619
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Sei sicuro di voler modificare le impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:611
+#: 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 impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Etichetta non trovata"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Azione non valida"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json non è configurato per Web Application"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione dell'Access Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Per favore digita nome di utente e password del servizio LDAP"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Per favore indica un account di servizio LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Group Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP User Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Member User Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Aggiungi un nuovo utente"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Modifica le impostazioni del server e-mail"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "L'account Gmail è stato verificato con successo"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Errore nel database: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "L'e-mail di test è stato accodato con successo per essere spedito a %(email)s, per favore verifica tramite il pulsante 'Compito' il risultato"
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Per favore prima configura il tuo indirizzo e-mail..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Configurazione del server e-mail aggiornata"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Si è verificato un errore sconosciuto: per favore riprova."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Modifica l'utente %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "La password dell'utente %(user)s è stata resettata"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura dapprima le impostazioni del server SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visualizzatore del Logfile"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Richiedo il pacchetto di aggiornamento"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Scarico il pacchetto di aggiornamento"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Decomprimo il pacchetto di aggiornamento"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Sostituisco i file"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Le connessioni al database sono chiuse"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Arresto il server"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Aggiornamento completato, per favore premi ok e ricarica la pagina"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Aggiornamento non riuscito:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Errore HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Errore di connessione"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Tempo scaduto nello stabilire la connessione"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Errore generale"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "Durante l'aggiornamento non è stato possibile sostituire alcuni file"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "Fallita l'estrazione di almeno un utente LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Fallita la creazione di almeno un utente LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Errore: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Errore: nessun utente restituito in risposta dal server LDAP"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Almeno un utente LDAP non è stato trovato nel database"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} utente importato con successo"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Il DB non è scrivibile"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "Configurazione del Database aggiornata"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "Configurazione del Database"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Per favore compila tutti i campi!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "L'e-mail non proviene da un dominio valido"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "L'utente '%(user)s' è stato creato"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Trovato un account esistente con questo e-mail o nome di utente"
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "L'utente '%(nick)s' è stato eliminato"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Non posso eliminare l'utente Guest (ospite)"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "L'utente '%(nick)s' è stato aggiornato"
@@ -500,122 +509,122 @@ msgstr "non installato"
msgid "Execution permissions missing"
msgstr "Mancano i permessi di esecuzione"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, fuzzy, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "La colonna personale no.%(column)d non esiste nel database di Calibre"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Nessuna"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Errore durante l'apertura del libro selezionato. Il file non esiste o il file non è accessibile"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Gli identificatori non tengono conto delle lettere maiuscole o minuscole, sovrascrivo l'identificatore precedente"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "I metadati sono stati aggiornati con successo"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Il file %(file)s è stato caricato"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
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:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Probabilmente il libro caricato esiste già nella libreria; considera di cambiare prima di sottoporlo nuovamente: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s non è una lingua valida"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Il file da caricare deve avere un'estensione"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Il formato del libro è stato eliminato con successo"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Il libro é stato eliminato con successo"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "modifica i metadati"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s non è un numero valido, proseguo"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Impossibile creare la cartella %(path)s (autorizzazione negata)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Il salvataggio del file %(file)s non è riuscito."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Ho aggiunto il formato %(ext)s al libro %(book)s"
@@ -628,167 +637,176 @@ 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 "Callback domain non è stato verificato. Per favore intraprendi il necessario per verificare il dominio nella developer console di Google"
-#: cps/helper.py:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s non trovato: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Invia a Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Questo e-mail è stato spedito tramite Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "E-mail di test da Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "E-mail di test"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Inizia con Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "E-mail di registrazione dell'utente: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Converti %(orig)s in %(format)s e spedisci a Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Invia %(format)s a Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s inviato a Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Il file richiesto non può essere letto. I permessi sono corretti?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "L'eliminazione della cartella del libro %(id)s non è riuscita, il percorso ha sottocartelle: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "L'eliminazione del libro %(id)s non è riuscita: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Eliminazione del libro %(id)s unicamente dal database. Il percorso del libro nel database non è valido: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author 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:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "File %(file)s non trovato su Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "La modifica del titolo da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Non ho trovato la cartella %(path)s del libro su Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Ho trovato un account creato in precedenza con questo indirizzo e-mail."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Questo nome di utente è già utilizzato"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "L'e-mail non è scritto in un formato valido"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Errore nello scaricare la copertina"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Errore di formato della copertina"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Errore nel creare la cartella per la copertina"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
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:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Non ho trovato il file binario di UnRar"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Errore nell'eseguire UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Per scoprire"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1361,12 +1379,12 @@ msgstr "Per favore digita un nome di utente valido per resettare la password"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ora sei connesso come '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Profilo di %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profilo aggiornato"
@@ -1420,6 +1438,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "modifica i metadati"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1652,40 +1675,40 @@ msgstr "Riavvia Calibre-Web"
msgid "Shutdown"
msgstr "Arresta Calibre-Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versione"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Dettagli"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Versione attuale"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Ricerca aggiornamenti"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Esegui l'aggiornamento"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Vuoi veramente riavviare Calibre-Web?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1696,11 +1719,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Annulla"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Vuoi veramente arrestare Calibre-Web?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Aggiornamento, non ricaricare la pagina."
@@ -2003,7 +2026,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo
index a894f1db..c6feee88 100644
Binary files a/cps/translations/ja/LC_MESSAGES/messages.mo and b/cps/translations/ja/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po
index 7774344f..f0bbf601 100644
--- a/cps/translations/ja/LC_MESSAGES/messages.po
+++ b/cps/translations/ja/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: subdiox \n"
"Language: ja\n"
@@ -38,456 +38,465 @@ msgstr "再接続成功"
msgid "Unknown command"
msgstr "不明なコマンド"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "本の %(kindlemail)s への送信がキューに追加されました"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "不明"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "管理者ページ"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "基本設定"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "UI設定"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "ユーザーを編集"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "全て"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "ユーザーが見つかりません"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{}人のユーザーが削除されました"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "不正なリクエスト"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "ゲストユーザーの名前は変更できません"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "ゲストユーザーはこのロールを持つことができません"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "管理者ユーザーが残っておらず、管理者ロールを削除できません"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr "値はtrueかfalseのどちらかでなければなりません"
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "無効なロール"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "ゲストユーザーはこの画面を表示できません"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "無効な表示"
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "ゲストユーザーの言語設定は自動的に決定されるため、固定することはできません"
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "有効な言語設定がありません"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "有効な本の言語がありません"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "パラメータが見つかりません"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "無効な読み取り列"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "無効な制限列"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Webの設定を更新しました"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "Koboのトークンを削除してもよろしいですか?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "このドメインを削除してもよろしいですか?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "このユーザーを削除してもよろしいですか?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "この本棚を削除してもよろしいですか?"
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "選択したユーザーの言語設定を変更してもよろしいですか?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "選択したユーザーが表示できる本の言語を変更してもよろしいですか?"
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "選択したユーザーの選択したロールを変更してもよろしいですか?"
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?"
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "選択したユーザーの本棚同期の動作を変更してもよろしいですか?"
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr "Calibreライブラリのパスを変更してもよろしいですか?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{}件の同期項目を削除しました"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "タグが見つかりません"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "無効なアクションです"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.jsonがWebアプリケーション用に設定されていません"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "ログファイルの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "アクセスログファイルの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "LDAPのプロバイダ、ポート番号、DN、ユーザーIDを入力してください"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "LDAPのサービスアカウント名とパスワードを入力してください"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "LDAPのサービスアカウント名を入力してください"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAPのグループフィルタには \"%s\" というフォーマットのIDが一つ必要です"
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAPのグループフィルタ内の括弧が一致しません"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAPのユーザーフィルタには \"%s\" というフォーマットのIDが一つ必要です"
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAPのユーザーフィルタ内の括弧が一致しません"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAPのメンバーフィルタには \"%s\" というフォーマットのIDが一つ必要です"
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAPのメンバーフィルタ内の括弧が一致しません"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAPのCA証明書、証明書、キーの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "新規ユーザー追加"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "メールサーバー設定を編集"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Gmailアカウントを認証しました"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "DBエラー: %(error)s"
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください"
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "%(res)s へのテストメール送信中にエラーが発生しました"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "初めにメールアドレスを設定してください"
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "メールサーバーの設定を更新しました"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr "スケジュールタスク設定を編集"
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr "指定したタスクの開始時刻が無効です"
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr "指定したタスクの期間が無効です"
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr "スケジュールタスクの設定を更新しました"
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "不明なエラーが発生しました。あとで再試行してください。"
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr "設定DBが書き込みできません"
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "ユーザー %(nick)s を編集"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "ユーザー %(user)s のパスワードをリセット"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "初めにSMTPメールの設定をしてください"
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "ログファイルビューア"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "更新データを要求中"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "更新データをダウンロード中"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "更新データを展開中"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "ファイルを置換中"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "DB接続を切断"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "サーバー停止中"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "アップデート完了、OKを押してページを再読み込みしてください"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "アップデート失敗:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTPエラー"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "接続エラー"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "接続確立中にタイムアウトしました"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "エラー発生"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr "更新データを一時フォルダに保存できませんでした"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "更新中にファイルを置換できませんでした"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "少なくとも1人のLDAPユーザーの抽出に失敗しました"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "少なくとも1人のLDAPユーザーの作成に失敗しました"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "エラー: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "エラー: LDAPサーバーのレスポンスでユーザーが返されません"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "DB内にLDAPユーザーが1人も見つかりません"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{}人のユーザーをインポートしました"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "DBの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "DBへの書き込みができません"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "キーファイルの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "証明書ファイルの場所が無効です。正しいパスを入力してください"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "DB設定を更新しました"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "DB設定"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "全ての項目を入力してください"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "このメールは有効なドメインからのものではありません"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "ユーザー '%(user)s' を作成しました"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "このメールアドレスかニックネームで登録されたアカウントがすでに存在します。"
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "ユーザー '%(nick)s' を削除しました"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "ゲストユーザーは削除できません"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "管理者ユーザーが残っておらず、ユーザーを削除できません"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "ユーザー '%(nick)s' を更新しました"
@@ -500,122 +509,122 @@ msgstr "インストールされていません"
msgid "Execution permissions missing"
msgstr "実行権限がありません"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "カスタムカラムの%(column)d列目がcalibreのDBに存在しません"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "なし"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "選択した本は利用できません。ファイルが存在しないか、アクセスできません"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr "ユーザーは表紙をアップロードする権限がありません"
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "IDは大文字小文字を区別しません。元のIDを上書きします"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "メタデータを更新しました"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr "本編集中のエラー: {}"
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "ファイル %(file)s をアップロードしました"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "変換元の形式または変換後の形式が指定されていません"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "本の %(book_format)s への変換がキューに追加されました"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "この本の変換中にエラーが発生しました: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "アップロードした本はすでにライブラリに存在します。新しくアップロードする前に変更を加えてください: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "'%(langname)s' は有効な言語ではありません"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "アップロードするファイルには拡張子が必要です"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "ファイル %(filename)s は一時フォルダに保存できませんでした"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "表紙ファイル %(file)s の移動に失敗しました: %(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "本の形式を削除しました"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "本を削除しました"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "本を削除する権限がありません"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "メタデータを編集"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s は有効な数字ではありません。スキップします"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr "新たなファイル形式をアップロードする権限がありません"
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "%(path)s の作成に失敗しました (Permission denied)。"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "ファイル %(file)s を保存できません。"
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "ファイル形式 %(ext)s が %(book)s に追加されました"
@@ -628,166 +637,175 @@ 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:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "ID: %(book)d の本に %(format)s フォーマットはありません"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s がありません: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr "E-Readerに送信"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "このメールはCalibre-Web経由で送信されました。"
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web テストメール"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "テストメール"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Calibre-Webを始める"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "ユーザー: %(name)s 用の登録メール"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "%(orig)s を %(format)s に変換してからE-Readerに送信"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "E-Readerに %(format)s を送信"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s をE-Readerに送信"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "要求されたファイルを読み込めませんでした。権限設定が正しいか確認してください。"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr "読み込みステータスを設定できません: {}"
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "%(id)s の本フォルダの削除に失敗しました。そこにはサブフォルダがあります: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "本 %(id)s の削除に失敗しました: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "本 %(id)s はDBのみから削除されます。DB内の本のパスが有効ではありません: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "エラー: %(error)s により、著者名を %(src)s から %(dest)s に変更できませんでした"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "ファイル %(file)s はGoogleドライブ上にありません"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr "ファイル名の変更でエラーが発生しました: {}"
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "本のパス %(path)s はGoogleドライブ上にありません"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "このメールアドレスで登録されたアカウントがすでに存在します"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "このユーザー名はすでに使われています"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "メールアドレスの形式が無効"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr "表紙のアップロードに必要なPythonモジュール 'advocate' がインストールされていません"
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "表紙のダウンロードに失敗しました"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "表紙形式エラー"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr "表紙アップロードのためにlocalhostやローカルネットワークにアクセスすることは許可されていません"
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "表紙ファイルの作成に失敗しました"
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "表紙ファイルが有効な画像ファイルでないか、または保存できませんでした"
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "表紙ファイルは jpg/jpeg/png/webp/bmp のみ対応しています"
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "表紙ファイルの内容が無効です"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "表紙ファイルは jpg/jpeg のみ対応しています"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Unrarのバイナリファイルが見つかりません"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Unrarの実行中にエラーが発生しました"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "見つける"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr "localhost以外からCalibre-Webにアクセスし、有効なKobo端末用APIエンドポイントを取得してください"
@@ -1357,12 +1375,12 @@ msgstr "パスワードをリセットするには、有効なユーザー名を
msgid "You are now logged in as: '%(nickname)s'"
msgstr "'%(nickname)s' としてログインしました"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s のプロフィール"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "プロフィールを更新しました"
@@ -1416,6 +1434,11 @@ msgstr "Calibre DBと再接続中"
msgid "E-mail"
msgstr "メール"
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "メタデータを編集"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1647,40 +1670,40 @@ msgstr "再起動"
msgid "Shutdown"
msgstr "シャットダウン"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "バージョン情報"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "バージョン"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "詳細"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "現在のバージョン"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "アップデートを確認"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "アップデートを実行"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "再起動してもよろしいですか?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1691,11 +1714,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "キャンセル"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "シャットダウンしてもよろしいですか?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "アップデート中です。このページをリロードしないでください"
@@ -1997,7 +2020,7 @@ msgid "Comments"
msgstr "コメント"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr "アーカイブ状況"
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo
index 3b9af335..f9c21f8d 100644
Binary files a/cps/translations/km/LC_MESSAGES/messages.mo and b/cps/translations/km/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po
index 04604413..b0124ec1 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
"Last-Translator: \n"
"Language: km_KH\n"
@@ -39,463 +39,472 @@ msgstr ""
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "មិនដឹង"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "ទំព័ររដ្ឋបាល"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "ការកំណត់សាមញ្ញ"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:603
+#: cps/admin.py:613
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "ប្តូរការកំណត់ SMTP"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន"
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr ""
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "ការកំណត់មុខងារ"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "សូមបំពេញចន្លោះទាំងអស់!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ"
@@ -508,122 +517,122 @@ msgstr "មិនបានតម្លើង"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "គ្មាន"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr ""
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "កែប្រែទិន្នន័យមេតា"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។"
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s"
@@ -636,166 +645,175 @@ 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:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 cps/tasks/convert.py:75
#, python-format
msgid "%(format)s not found on Google Drive: %(fn)s"
msgstr ""
-#: cps/helper.py:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr ""
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "ផ្ញើទៅ Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr ""
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr ""
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr ""
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr ""
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr ""
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr ""
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "ផ្ញើទៅ Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "ឯកសារដែលបានស្នើសុំមិនអាចបើកបានទេ។ អាចនឹងខុសសិទ្ធិប្រើប្រាស់ទេដឹង?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "ស្រាវជ្រាវ"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1367,12 +1385,12 @@ msgstr ""
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ"
@@ -1426,6 +1444,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "កែប្រែទិន្នន័យមេតា"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1659,40 +1682,40 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "រកមើលបច្ចុប្បន្នភាព"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "ធ្វើបច្ចុប្បន្នភាព"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "បាទ/ចាស"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1703,11 +1726,11 @@ msgstr "បាទ/ចាស"
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "កំពុងធ្វើបច្ចុប្បន្នភាព សូមកុំបើកទំព័រជាថ្មី"
@@ -2010,7 +2033,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/ko/LC_MESSAGES/messages.mo b/cps/translations/ko/LC_MESSAGES/messages.mo
index ad7b3967..0b97a277 100644
Binary files a/cps/translations/ko/LC_MESSAGES/messages.mo and b/cps/translations/ko/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/ko/LC_MESSAGES/messages.po b/cps/translations/ko/LC_MESSAGES/messages.po
index c4ed1765..f96b4d50 100644
--- a/cps/translations/ko/LC_MESSAGES/messages.po
+++ b/cps/translations/ko/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2022-01-10 11:30+0900\n"
"Last-Translator: 내맘대로의 EPUBGUIDE.NET \n"
"Language: ko\n"
@@ -37,456 +37,465 @@ msgstr "재연결 성공"
msgid "Unknown command"
msgstr "알 수 없는 명령"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "성공적으로 %(kindlemail)s에 보내기 예약이 되었습니다"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "알 수 없음"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "관리자 페이지"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "기본 설정"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "UI 설정"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "사용자 관리"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "모두"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "사용자를 찾을 수 없음"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} 사용자를 성공적으로 삭제함"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "잘못된 요청"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Guest 이름은 수정할 수 없음"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Guest는 이 권한을 사용할 수 없음"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "관리자 계정이 하나 뿐일 때는 관리자를 삭제할 수 없음"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr "값으로 rue 또는 false만 설정 가능"
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "잘못된 권한"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Guest는 이 view를 사용할 수 없음"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "잘못된 view"
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Guest의 로케일은 자동으로 결정되며 설정할 수 없음"
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "유효한 로케일이 아님"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "제공된 책의 언어가 유효하지 않음"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "매개변수를 찾을 수 없음"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "잘못된 읽기 열"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "잘못된 제한된 열"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web 설정이 업데이트 됨"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "Kobo Token을 삭제하시겠습니까?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "이 도메인을 삭제하시겠습니까?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "이 사용자를 삭제하시겠습니까?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "이 서재를 삭제하시겠습니까?"
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "선택한 사용자의 언어를 변경하시겠습니까?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "선택한 사용자에 대해 표시되는 책 언어를 변경하시겠습니까?"
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "선택한 사용자에 대해 선택한 권한을 변경하시겠습니까?"
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "선택한 사용자에 대해 선택한 제한을 변경하시겠습니까?"
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "선택한 사용자의 실행기 동기화 동작을 변경하시겠습니까?"
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr "캘리버 서재의 언어를 변경하시겠습니까?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{} 동기화 항목이 삭제됨"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "태그를 찾을 수 없음"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "잘못된 액션"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json이 Web 응용프로그램에 대해 설정되지 않음"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "로그 파일 위치가 오류. 올바른 경로 입력 필요"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "액세스 로그 파일 위치가 올바르지 않음. 올바른 경로 입력 필요"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "LDAP 공급자, 포트, DN 및 사용자 개체 식별자를 입력"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "LDAP 서비스 계정 및 비밀번호를 입력하십시오"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "LDAP 서비스 계정을 입력하십시오"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP 그룹 개체 필터에는 하나의 \"%s\" 형식 식별자가 필요함"
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP 그룹 개체 필터에 일치하지 않는 괄호가 있음"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP 사용자 개체 필터에는 하나의 \"%s\" 형식 식별자 필요"
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP 사용자 개체 필터에 일치하지 않는 괄호가 있음"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP 구성원 사용자 필터에는 하나의 \"%s\" 형식 식별자 필요"
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP 구성원 사용자 필터에 일치하지 않는 괄호가 있음"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "유요하지 않은 LDAP CACertificate, 인증서 또는 키 위치. 올바른 경로를 입력 필요"
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "새 사용자 추가"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "이메일 서버 설정 편집"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Gmail 계정 인증 성공"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "데이터베이스 오류: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "%(email)s에 테스트를 위한 이메일을 보냄. 결과 확인 필요"
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "테스트 이메일을 보내는 동안 오류가 발생했습니다: %(res)s"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "먼저 이메일 주소를 구성하십시오..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "이메일 서버 설정 업데이트됨"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "알 수없는 오류가 발생했습니다. 나중에 다시 시도 해주십시오."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "사용자 %(nick)s 편집"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "사용자 %(user)s의 비밀번호 재설정"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "먼저 SMTP 메일 설정을 구성하십시오..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "로그 파일 뷰어"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "업데이트 패키지 요청"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "업데이트 패키지 다운로드"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "업데이트 패키지 압축 풀기"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "파일 교체"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "데이터베이스 연결이 닫힙니다"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "서버 중지"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "업데이트가 완료되었습니다. 확인을 누르고 페이지를 새로고침하세요"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "업데이트 실패:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP 오류"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "연결 오류"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "연결 설정 중 시간 초과"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "일반 오류"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr "임시 디렉토리에 업데이트 파일을 저장할 수 없습니다"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "업데이트하는 동안 파일을 교체할 수 없습니다"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "하나 이상의 LDAP 사용자를 추출하지 못했습니다"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "하나 이상의 LDAP 사용자를 생성하지 못했습니다"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "오류: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "오류: LDAP 서버의 응답으로 사용자가 반환되지 않았습니다"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "데이터베이스에서 하나 이상의 LDAP 사용자를 찾을 수 없습니다"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} 사용자 가져오기 성공"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "올바르지 않은 DB 위치. 올바른 경로 입력 필요"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "쓰기 권한이 없는 DB"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "올바르지 않은 키 파일 위치. 올바른 경로 입력 필요"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "올바르지 않은 인증서 파일 위치. 올바른 경로 입력 필요"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "데이터베이스 설정이 업데이트 되었습니다"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "데이터베이스 구성"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "모든 필드를 채워주십시오!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "유효한 도메인에서 온 이메일이 아니"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "사용자 '%(user)s'이(가) 생성됨"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "동일한 이메일 주소 또는 이름이 이미 등록되어 있습니다."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "사용자 '%(nick)s'이(가) 삭제됨"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "게스트 사용자는 삭제할 수 없습니다"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "관리자 계정이 하나 뿐일 때는 관리자 권한을 삭제할 수 없음"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "사용자 '%(nick)s'가 업데이트 됨"
@@ -499,122 +508,122 @@ msgstr "설치되지 않음"
msgid "Execution permissions missing"
msgstr "실행 권한 누락"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, fuzzy, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "사용자 정의 열 번호 %(column)d이(가) calibre 데이터베이스에 없습니다"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "None"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "선택한 책 제목을 사용할 수 없습니다. 파일이 존재하지 않거나 액세스할 수 없습니다"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "식별자는 대소문자를 구분하지 않으며 이전 식별자를 덮어씁니다"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "메타데이터가 성공적으로 업데이트되었습니다"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "파일 %(file)s 업로드됨"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "변환을 위한 소스 또는 대상 형식이 누락되었습니다"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "책이 %(book_format)s(으)로 변환하기 위해 대기 중입니다"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "이 책을 변환하는 동안 오류가 발생했습니다: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "업로드한 책이 라이브러리에 있을 수 있음. 새로 업로드하기 전에 확인 필요: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "'%(langname)s'은(는) 유효한 언어가 아닙니다"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "파일 확장자 '%(ext)s'은(는) 이 서버에 업로드할 수 없습니다"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "업로드할 파일에는 확장자가 있어야 합니다"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "파일 %(filename)s을(를) 임시 디렉토리에 저장할 수 없습니다"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "표지 파일%(file)s를 이동하지 못했습니다.:%(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "책 형식이 성공적으로 삭제되었습니다"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "책이 성공적으로 삭제되었습니다"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "메타데이터 편집"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s은(는) 유효한 숫자가 아닙니다. 건너뜁니다"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "%(path)s 경로를 생성하지 못했습니다(권한이 없음)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "%(file)s 파일을 저장하지 못했습니다."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "파일 형식 %(ext)s이(가) %(book)s에 추가되었습니다"
@@ -627,167 +636,176 @@ msgstr "Google 드라이브 설정이 완료되지 않았습니다. Google 드
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr "콜백 도메인이 확인되지 않았습니다. 단계에 따라 Google 개발자 콘솔에서 도메인을 확인하세요"
-#: cps/helper.py:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "책 ID에 대한 %(format)s 형식을 찾을 수 없음: %(book)d"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s을(를) 찾을 수 없음: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "킨들로 보내기"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "이 이메일은 Calibre Web을 통해 전송되었습니다."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web 테스트 이메일"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "테스트 이메일"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Calibre-Web 시작하기"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "사용자 등록 이메일: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "%(orig)s를 %(format)s로 변환하고 킨들로 보내기"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "킨들에 %(format)s 보내기"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s을 킨들로 보내기"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "요청한 파일을 읽을 수 없습니다. 올바른 권한인가요?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "책 %(id)s에 대한 책 폴더를 삭제하지 못했습니다. 경로에 하위 폴더가 있습니다: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "%(id)s 도서 삭제 실패: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "데이터베이스에서만 책 %(id)s 을(를) 삭제 중, 데이터베이스의 책 경로가 유효하지 않음: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "제목 이름을 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다. 오류: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Google 드라이브에서 %(file)s 파일을 찾을 수 없습니다"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "제목 이름을 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다. 오류: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google 드라이브에서 책 경로 %(path)s을(를) 찾을 수 없습니다"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "등록되어 있는 이메일 주소입니다"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "등록되어 있는 username입니다"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "이메일 주소 형식이 잘못되었습니다"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "표지 다운로드 중 오류 발생"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "표지 형식 오류"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "표지 경로 생성 실패"
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "표지 파일이 유효한 이미지 파일이 아니거나 저장할 수 없습니다"
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "표지는 jpg/jpeg/png/webp/bmp 파일만 지원됩니다"
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "잘못된 표지 파일 콘텐츠"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "표지 파일로 jpg/jpeg 파일만 지원됩니다"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Unrar 바이너리 파일을 찾을 수 없습니다"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "UnRar 실행 오류"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "발견"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1359,12 +1377,12 @@ msgstr "비밀번호를 재설정하려면 유효한 사용자 이름을 입력
msgid "You are now logged in as: '%(nickname)s'"
msgstr "다음 사용자로 로그인: '%(nickname)s"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 프로필"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "프로필이 업데이트 됨"
@@ -1418,6 +1436,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "메타데이터 편집"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1650,40 +1673,40 @@ msgstr "재시작"
msgid "Shutdown"
msgstr "종료"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "버전"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "세부 정보"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "현재 버전"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "업데이트 확인"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "업데이트 실행"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "재시작을 하시겠습니까?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "예"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1694,11 +1717,11 @@ msgstr "예"
msgid "Cancel"
msgstr "취소"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "종료를 하시겠습니까?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Встановлення оновлень, будь-ласка, не оновлюйте сторінку"
@@ -2000,7 +2023,7 @@ msgid "Comments"
msgstr "코멘트"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo
index a5ef30cc..45583179 100644
Binary files a/cps/translations/nl/LC_MESSAGES/messages.mo and b/cps/translations/nl/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po
index b4df9271..b046ebde 100644
--- a/cps/translations/nl/LC_MESSAGES/messages.po
+++ b/cps/translations/nl/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web (GPLV3)\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-12-12 08:20+0100\n"
"Last-Translator: Marcel Maas \n"
"Language: nl\n"
@@ -39,466 +39,475 @@ msgstr "Opnieuw verbinden gelukt"
msgid "Unknown command"
msgstr "Onbekende opdracht"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Onbekend"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Systeembeheer"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Basisconfiguratie"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Uiterlijk aanpassen"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "Systeembeheerder"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Alles"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Gebruiker niet gevonden"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} gebruikers succesvol verwijderd"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Misvormd verzoek"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Gast naam kan niet worden veranderd"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Gast kan deze rol niet hebben"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder"
-#: cps/admin.py:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Ongeldige rol"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Gast kan dit niet bekijken"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Ongeldige waarde"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Geen geldige locale is opgegeven"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Geen geldige boek taal is opgegeven"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parameter is niet gevonden"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Ongeldige gelezen kolom"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Ongeldige beperkte kolom"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web-configuratie bijgewerkt"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "Wil je dit domein echt verwijderen?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "Wil je deze gebruiker echt verwijderen?"
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Tag niet gevonden"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Ongeldige actie"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json is niet geconfigureerd voor webapplicatie"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Voer een geldig LDAP Service Account en wachtwoord in"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Voer een LDAP Service Account in"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Groep Object Filter heeft een niet-gebalanceerd haakje"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Gebruiker Filter heeft een niet-gebalanceerd haakje"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Lid Gebruiker Filter heeft een niet-gebalanceerd haakje"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Gebruiker toevoegen"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "SMTP-instellingen bewerken"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account succesvol geverifieerd"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Database fout: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Gelieve eerst je e-mail adres configureren..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "E-mailserver-instellingen bijgewerkt"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Onbekende fout opgetreden. Probeer het later nog eens."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Gebruiker '%(nick)s' bewerken"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Wachtwoord voor gebruiker %(user)s is hersteld"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Stel eerst SMTP-mail in..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Logbestand lezer"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Update opvragen"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Update downloaden"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Update uitpakken"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Update toepassen"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Databaseverbindingen zijn gesloten"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Bezig met stoppen van Calibre-Web"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Update mislukt:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP-fout"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Verbindingsfout"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Time-out tijdens maken van verbinding"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Algemene fout"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, 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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Mislukt om minstens een LDAP gebruiker aan te maken"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Het is niet gelukt tenminste een LDAP gebruiker aan te maken"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fout: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Fout: No user returned in response of LDAP server"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minstens een LDAP Gebruiker is niet gevonden in de Database"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} Gebruiker succesvol geïmporteerd"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Database niet gevonden, voer de juiste locatie in"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Kan niet schrijven naar database"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-sleutellocatie is niet geldig, voer een geldig pad in"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-certificaatlocatie is niet geldig, voer een geldig pad in"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "E-mailserver-instellingen bijgewerkt"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Databaseconfiguratie"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Vul alle velden in!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "Het e-mailadres bevat geen geldige domeinnaam"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Gebruiker '%(user)s' aangemaakt"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Bestaand account met dit e-mailadres of deze gebruikersnaam aangetroffen."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Gebruiker '%(nick)s' verwijderd"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Kan Gast gebruiker niet verwijderen"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Kan laatste systeembeheerder niet verwijderen"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Gebruiker '%(nick)s' bijgewerkt"
@@ -511,122 +520,122 @@ msgstr "niet geïnstalleerd"
msgid "Execution permissions missing"
msgstr "Kan programma niet uitvoeren"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Geen"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oeps! Geselecteerd boek is niet beschikbaar. Bestand bestaat niet of is niet toegankelijk"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "De metagegevens zijn bijgewerkt"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Bestand %(file)s geüpload"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Bron- of doelformaat ontbreekt voor conversie"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s is geen geldige taal"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Het te uploaden bestand moet voorzien zijn van een extensie"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "Omslag %(file)s niet verplaatst: %(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Het boekformaat is verwijderd"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Het boek is verwijderd"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "metagegevens bewerken"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s is geen geldig nummer, sla het over"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Kan %(file)s niet opslaan."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s"
@@ -639,168 +648,177 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s niet gevonden %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Versturen naar Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Deze e-mail is verstuurd via Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web - test-e-mail"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Test-e-mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Aan de slag met Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Registratie-e-mailadres van gebruiker: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "%(orig)s converteren naar %(format)s en versturen naar Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "%(format)s versturen naar Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s verzonden naar Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Het opgevraagde bestand kan niet worden gelezen. Ben je hiertoe gemachtigd?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Het verwijderen van de boekenmap voor boek %(id)s is mislukt, het pad heeft submappen: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Verwijderen van boek %(id)s mislukt: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Verwijder boek %(id)s alleen uit database, boek pad is ongeldig: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bestaand account met dit e-mailadres aangetroffen."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Deze gebruikersnaam is al in gebruik"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Ongeldig E-Mail adres"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Fout bij downloaden omslag"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Onjuist omslagformaat"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Locatie aanmaken voor omslag mislukt"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Unrar executable niet gevonden"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Fout bij het uitvoeren van Unrar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Willekeurige boeken"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1374,12 +1392,12 @@ msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Je bent ingelogd als: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profiel"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profiel bijgewerkt"
@@ -1433,6 +1451,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "metagegevens bewerken"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1666,40 +1689,40 @@ msgstr "Calibre-Web herstarten"
msgid "Shutdown"
msgstr "Calibre-Web stoppen"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versie"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Details"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Huidige versie"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Controleren op updates"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Update uitvoeren"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Weet je zeker dat je Calibre-Web wilt herstarten?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Oké"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1710,11 +1733,11 @@ msgstr "Oké"
msgid "Cancel"
msgstr "Annuleren"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Weet je zeker dat je Calibre-Web wilt stoppen?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Bezig met bijwerken, vernieuw de pagina niet"
@@ -2018,7 +2041,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo
index 4c01ac10..a72cfbb7 100644
Binary files a/cps/translations/pl/LC_MESSAGES/messages.mo and b/cps/translations/pl/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po
index 0ff9e9a0..7500731e 100644
--- a/cps/translations/pl/LC_MESSAGES/messages.po
+++ b/cps/translations/pl/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre Web - polski (POT: 2021-06-12 08:52)\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2021-06-12 15:35+0200\n"
"Last-Translator: Radosław Kierznowski \n"
"Language: pl\n"
@@ -39,467 +39,476 @@ msgstr "Ponowne połączenie zakończono sukcesem"
msgid "Unknown command"
msgstr "Nieznane polecenie"
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Książka została umieszczona w kolejce do wysłania do %(kindlemail)s"
+
# ???
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Nieznany"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Panel administratora"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Konfiguracja podstawowa"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Konfiguracja Interfejsu"
-#: cps/admin.py:309 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:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Wszystko"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Nie znaleziono użytkownika"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} użytkowników usuniętych pomyślnie"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Nieprawidłowo sformułowane żądanie"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Nazwa gościa nie może być zmieniona"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Gość nie może pełnić tej roli"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Nieprawidłowa rola"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Gość nie może tego zobaczyć"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Nieprawidłowy widok"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Nie podano prawidłowej lokalizacji"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Nie podano obowiązującego języka książki"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Nie znaleziono parametru"
-#: cps/admin.py:557
+#: cps/admin.py:567
#, fuzzy
msgid "Invalid Read Column"
msgstr "Nieprawidłowa kolumna odczytu"
-#: cps/admin.py:563
+#: cps/admin.py:573
#, fuzzy
msgid "Invalid Restricted Column"
msgstr "Nieprawidłowa kolumna z ograniczeniami"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Konfiguracja Calibre-Web została zaktualizowana"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "Czy naprawdę chcesz usunąć tę domenę?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "Czy naprawdę chcesz usunąć tego użytkownika?"
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
#, fuzzy
msgid "Tag not found"
msgstr "Nie znaleziono znacznika"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Nieprawidłowe działanie"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json nie został skonfigurowany dla aplikacji webowej"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku dziennika jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Proszę wprowadzić konto i hasło usługi LDAP"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Proszę wprowadzić konto usługi LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów grupy LDAP ma niedopasowany nawias"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów użytkownika LDAP ma niedopasowany nawias"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Filtr użytkownika członka LDAP ma niedopasowane nawiasy"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Zmień ustawienia SMTP"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Weryfikacja konta Gmail przebiegła pomyślnie"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Błąd bazy danych: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Najpierw skonfiguruj swój adres e-mail..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
# ???
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Zrestartowano hasło użytkownika %(user)s"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Przeglądanie dziennika"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Żądanie o pakiet aktualizacji"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Pobieranie pakietu aktualizacji"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Rozpakowywanie pakietu aktualizacji"
# ???
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Zastępowanie plików"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Połączenia z bazą danych zostały zakończone"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Zatrzymywanie serwera"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Aktualizacja nieudana:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Błąd HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Błąd połączenia"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Błąd ogólny"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, 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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Błąd: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
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:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} Użytkownik pomyślnie zaimportowany"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "Baza danych nie jest zapisywalna"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "Konfiguracja bazy danych"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-mail nie pochodzi z prawidłowej domeny"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
#, fuzzy
msgid "Can't delete Guest User"
msgstr "Nie można usunąć użytkownika gościa"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
@@ -512,122 +521,122 @@ msgstr "nie zainstalowane"
msgid "Execution permissions missing"
msgstr "Brak uprawnienia do wykonywania pliku"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Brak"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Błąd otwierania e-booka. Plik nie istnieje lub jest niedostępny"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "W identyfikatorach nie jest rozróżniana wielkość liter, nadpisywanie starego identyfikatora"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadane zostały pomyślnie zaktualizowane"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Wysłano plik %(file)s"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Brak formatu źródłowego lub docelowego do konwersji"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s nie jest prawidłowym językiem"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Plik do wysłania musi mieć rozszerzenie"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Plik książki w wybranym formacie został usunięty"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Książka została usunięta"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "edytuj metadane"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s nie jest poprawną liczbą, pomijanie"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, 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:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Nie można zapisać pliku %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Format pliku %(ext)s dodany do %(book)s"
@@ -640,169 +649,178 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s nie znaleziono: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Wyślij do Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Ten e-mail został wysłany za pośrednictwem Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Testowy e-mail Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Testowy e-mail"
# ???
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Zacznij korzystać z Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Rejestracja e-mail dla użytkownika: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Konwertuj %(orig)s do %(format)s i wyślij do Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Wyślij %(format)s do Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Wyślij do Kindle"
# ???
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Żądany plik nie mógł zostać odczytany. Może brakuje uprawnień?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Usuwanie folderu książki dla książki %(id)s nie powiodło się, ścieżka ma podfoldery: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Usuwanie książki %(id)s zakończyło się błędem: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Usuwanie książki %(id)s, ścieżka książki jest niepoprawna: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Nie znaleziono pliku %(file)s na Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Nie znaleziono ścieżki do książki %(path)s na Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Znaleziono istniejące konto dla tego adresu e-mail"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Nazwa użytkownika jest już zajęta"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Nieprawidłowy format adresu e-mail"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Błąd przy pobieraniu okładki"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Błędny format okładki"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Nie udało się utworzyć ścieżki dla okładki"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Plik wykonywalny programu unrar nie znaleziony"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Błąd przy wykonywaniu unrar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Odkrywaj"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1378,12 +1396,12 @@ msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Zaktualizowano profil"
@@ -1437,6 +1455,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "edytuj metadane"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1672,40 +1695,40 @@ msgstr "Uruchom ponownie Calibre Web"
msgid "Shutdown"
msgstr "Zatrzymaj Calibre Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Wersja"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Szczegóły"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Bieżąca wersja"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Sprawdź aktualizacje"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Wykonaj aktualizację"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1716,11 +1739,11 @@ msgstr "OK"
msgid "Cancel"
msgstr "Anuluj"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Na pewno chcesz zatrzymać Calibre Web?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Aktualizowanie, proszę nie odświeżać strony"
@@ -2027,7 +2050,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo
index 18f5b56c..5a82abac 100644
Binary files a/cps/translations/pt_BR/LC_MESSAGES/messages.mo and b/cps/translations/pt_BR/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.po b/cps/translations/pt_BR/LC_MESSAGES/messages.po
index 861b8ff5..69c6ff25 100644
--- a/cps/translations/pt_BR/LC_MESSAGES/messages.po
+++ b/cps/translations/pt_BR/LC_MESSAGES/messages.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language: br\n"
@@ -35,456 +35,465 @@ msgstr "Reconexão bem-sucedida"
msgid "Unknown command"
msgstr "Comando desconhecido"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Livro enfileirado com sucesso para envio para %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Desconhecido"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Página de Administração"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Configuração Básica"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Configuração de UI"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "Editar Usuários"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Todos"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Usuário não encontrado"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} usuário(s) deletedos com sucesso"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Requisição Malformada"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Nome do Convidado não pode ser alterado"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Convidado não pode ter esta função"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Função Inválida"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Convidado não pode ter esta visão"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Visão Inválida"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Nenhum Idioma Válido Fornecido"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Nenhum Idioma do Livro Válido Fornecido"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parametro não encontrado"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "Coluna Lido Inválida"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "Coluna Restrito Inválida"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Configuração do Calibre-Web atualizada"
-#: cps/admin.py:595
+#: 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:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "Você realmente quer apagar este domínio?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "Você realmente quer apagar este usuário?"
-#: cps/admin.py:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{} entradas de sincronização deletadas"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Tag não encontrada"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Ação Inválida"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
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:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Por favor, digite uma Conta de Serviço LDAP e Senha"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "Por favor, digite uma Conta de Serviço LDAP"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de grupo LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de usuário LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Adicionar novo usuário"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Editar configurações do servidor de e-mail"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "Verificação da Conta Gmail com Sucesso"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Erro de banco de dados: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure seu endereço de e-mail primeiro..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Atualização das configurações do servidor de e-mail"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr "Editar configurações de tarefas agendadas"
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr "Hora de início inválida para a tarefa especificada"
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr "Duração inválida para a tarefa especificada"
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr "Configurações de tarefas agendadas atualizadas"
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr "Settings DB não é gravável"
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuário %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Senha do usuário %(user)s redefinida"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Por favor, configure primeiro as configurações de correio SMTP..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visualizador do Log"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Solicitação de pacote de atualização"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Baixando pacote de atualização"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Descompactando pacote de atualização"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Substituindo arquivos"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "As conexões à base de dados estão fechadas"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Parando servidor"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Atualização concluída, pressione okay e recarregue a página"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Atualização falhou:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Erro HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Erro de conexão"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Erro geral"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
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:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "Arquivos não puderam ser substituídos durante a atualização"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "Falha ao extrair pelo menos um usuário LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Falha ao criar pelo menos um usuário LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erro: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Erro: Nenhum usuário retornado na resposta do servidor LDAP"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
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:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} Usuário Importado com Sucesso"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "DB não é gravável"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Localização do Keyfile Inválida, Insira o Caminho Correto"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Localização do Certfile Inválida, Insira o Caminho Correto"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "Configurações do Banco de Dados Atualizada"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "Configuração do Banco de Dados"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Por favor, preencha todos os campos!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "O e-mail não é de um domínio válido"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuário '%(user)s' criado"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Encontrada uma conta existente para este endereço de e-mail ou apelido."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuário '%(nick)s' excluído"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Impossível excluir Convidado"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
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:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuário '%(nick)s' atualizado"
@@ -497,122 +506,122 @@ msgstr "não instalado"
msgid "Execution permissions missing"
msgstr "Faltam as permissões de execução"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Nenhum"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title 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:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
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:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadados atualizados com sucesso"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr "Erro ao editar o livro: {}"
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Arquivo %(file)s enviado"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Formato de origem ou destino para conversão ausente"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s não é um idioma válido"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "O arquivo a ser carregado deve ter uma extensão"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Formato do Livro Apagado com Sucesso"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Livro Apagado com Sucesso"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "Você não tem permissão para apagar livros"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "editar metadados"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, 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:1153
+#: cps/editbooks.py:1157
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:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Falha ao criar o caminho %(path)s (Permission denied)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Falha ao armazenar o arquivo %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Formato de arquivo %(ext)s adicionado a %(book)s"
@@ -625,166 +634,175 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s não encontrado: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr "Enviar para E-Reader"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Este e-mail foi enviado via Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "E-mail de teste do Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "E-mail de teste"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Comece a usar o calibre-web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "E-mail de registro do usuário: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Converter %(orig)s em %(format)s e enviar para E-Reader"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Enviar %(format)s para o E-Reader"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s enviado para E-Reader"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "O arquivo solicitado não pôde ser lido. Talvez permissões erradas?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr "Status Lido não pode ser alterado: {}"
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "A exclusão da pasta de livros do livro %(id)s falhou, o caminho tem subpastas: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Falha ao excluir livro %(id)s: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Excluindo livro %(id)s somente do banco de dados, caminho do livro inválido: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Arquivo %(file)s não encontrado no Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr "Erro ao renomear arquivo no caminho: {}"
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Caminho do livro %(path)s não encontrado no Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Encontrada uma conta existente para este endereço de e-mail."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Este nome de usuário já está registrado"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Formato de endereço de e-mail inválido"
-#: cps/helper.py:811
+#: cps/helper.py:815
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:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Erro ao Baixar a capa"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Erro de Formato da Capa"
-#: cps/helper.py:827
+#: cps/helper.py:831
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:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Falha em criar caminho para a capa"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "Conteúdo do arquivo de capa inválido"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Binário Unrar não encontrado"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Erro excecutando UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Descubra"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
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"
@@ -1354,12 +1372,12 @@ msgstr "Por favor, digite um nome de usuário válido para redefinir a senha"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Você agora está logado como: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Perfil atualizado"
@@ -1413,6 +1431,11 @@ msgstr "Reconectando banco de dados Calibre"
msgid "E-mail"
msgstr "E-mail"
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "editar metadados"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1644,40 +1667,40 @@ msgstr "Reiniciar"
msgid "Shutdown"
msgstr "Desligar"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "Informação da Versão"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Versão"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detalhes"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Versão atual"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Verificar Atualizações"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Realizar Atualizações"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Tem a certeza que quer reiniciar?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1688,11 +1711,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Cancelar"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Tem certeza que quer encerrar?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Atualizando, por favor não recarregue esta página"
@@ -1994,7 +2017,7 @@ msgid "Comments"
msgstr "Comentários"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr "Status Arquivado"
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo
index ccca2867..61d80ce8 100644
Binary files a/cps/translations/ru/LC_MESSAGES/messages.mo and b/cps/translations/ru/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po
index 1cab9033..443289c5 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-04-29 01:20+0400\n"
"Last-Translator: ZIZA\n"
"Language: ru\n"
@@ -39,467 +39,476 @@ msgstr "Успешно переподключено"
msgid "Unknown command"
msgstr "Неизвестная команда"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Неизвестно"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Администрирование"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Настройка интерфейса"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "Управление сервером"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Все"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Конфигурация Calibre-Web обновлена"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "Вы действительно хотите удалить Kobo Token ?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:603
+#: cps/admin.py:613
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Вы действительно хотите остановить Calibre-Web?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json не настроен для веб-приложения"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Неправильное расположение файла журнала, пожалуйста, введите правильный путь."
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Недопустимое расположение файла журнала доступа, пожалуйста, введите правильный путь"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Пожалуйста, введите провайдера LDAP, порт, DN и идентификатор объекта пользователя"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля"
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов группы LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов группы LDAP имеет незавершённые круглые скобки"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов пользователя LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов пользователя LDAP имеет незавершенную круглую скобку"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Добавить пользователя"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Изменить настройки SMTP"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Произошла ошибка при отправке тестового письма на: %(res)s"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "Настройки E-mail сервера обновлены"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Неизвестная ошибка. Попробуйте позже."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Пароль для пользователя %(user)s сброшен"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сперва настройте параметры SMTP....."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Просмотр лога"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Проверка обновлений"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Загрузка обновлений"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Распаковка обновлений"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Замена файлов"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Соединения с базой данных закрыты"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Остановка сервера"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Обновления установлены, нажмите ок и перезагрузите страницу"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Ошибка обновления:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "Ошибка HTTP"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Ошибка соединения"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Тайм-аут при установлении соединения"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Общая ошибка"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Не удалось сохранить файл обновления во временной папке."
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Ошибка: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "По крайней мере, один пользователь LDAP не найден в базе данных"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь."
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "Настройки E-mail сервера обновлены"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Дополнительный Настройки"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-mail не из существующей доменной зоны"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Для этого адреса электронной почты или логина уже есть учётная запись."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Это последний администратор, невозможно удалить пользователя"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
@@ -512,122 +521,122 @@ msgstr "не установлено"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Нет"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Метаданные обновлены"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Файл %(file)s загружен"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Исходный или целевой формат для конвертирования отсутствует"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "Произошла ошибка при конвертирования этой книги: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s не допустимый язык"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "Запрещена загрузка файлов с расширением '%(ext)s'"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Загружаемый файл должен иметь расширение"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "Файл %(filename)s не удалось сохранить во временную папку"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "изменить метаданные"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)."
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Не удалось сохранить файл %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Формат файла %(ext)s добавлен в %(book)s"
@@ -640,167 +649,176 @@ msgstr "Настройка Google Drive не завершена, попробу
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr "Не удалось проверить домен обратного вызова, пожалуйста, выполните шаги для проверки домена в консоли разработчика Google."
-#: cps/helper.py:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "%(format)s форма не найден для книги с id: %(book)d"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s не найден: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Отправить на Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Это электронное письмо было отправлено через Caliber-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Тестовый e-mail для Calibre-Web"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Тестовый e-mail"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Начать работу с Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Регистрационный e-mail для пользователя: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Преобразовать %(orig)s в %(format)s и отправить в Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Отправить %(format)s в Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Отправить на Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Запрашиваемый файл не может быть прочитан. Возможно у вас нет разрешения?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Файл %(file)s не найден на Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Путь книги %(path)s не найден на Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Этот адрес электронной почты уже зарегистрирован."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Это имя пользователя уже занято"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Не удалось создать путь для обложки."
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Обзор"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1374,12 +1392,12 @@ msgstr "Пожалуйста, введите действительное имя
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s's"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Профиль обновлён"
@@ -1433,6 +1451,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "изменить метаданные"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1666,40 +1689,40 @@ msgstr "Перезагрузить Calibre-Web"
msgid "Shutdown"
msgstr "Остановить Calibre-Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Версия"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Подробности"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Текущая версия"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Проверка обновлений"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Установить обновления"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Вы действительно хотите перезагрузить Calibre-Web?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1710,11 +1733,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Отмена"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Вы действительно хотите остановить Calibre-Web?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Установка обновлений, пожалуйста, не обновляйте страницу"
@@ -2018,7 +2041,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo
index cda3046b..d4eedabe 100644
Binary files a/cps/translations/sv/LC_MESSAGES/messages.mo and b/cps/translations/sv/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/sv/LC_MESSAGES/messages.po b/cps/translations/sv/LC_MESSAGES/messages.po
index 3c9228d5..3fb58d37 100644
--- a/cps/translations/sv/LC_MESSAGES/messages.po
+++ b/cps/translations/sv/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2021-05-13 11:00+0000\n"
"Last-Translator: Jonatan Nyberg \n"
"Language: sv\n"
@@ -38,465 +38,474 @@ msgstr "Återanslutning lyckades"
msgid "Unknown command"
msgstr "Okänt kommando"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "Boken är i kö för att skicka till %(kindlemail)s"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Okänd"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Administrationssida"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Grundläggande konfiguration"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Användargränssnitt konfiguration"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "Redigera användare"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Alla"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Användaren hittades inte"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} användare har tagits bort"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "Felaktig begäran"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "Gästnamn kan inte ändras"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "Gäst kan inte ha den här rollen"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
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:484 cps/admin.py:498
+#: 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:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Ogiltig roll"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "Gästen kan inte ha den här vyn"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "Ogiltig vy"
-#: cps/admin.py:503
+#: 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:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "Inget giltigt språk anges"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "Inget giltigt bokspråk anges"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "Parameter hittades inte"
-#: cps/admin.py:557
+#: cps/admin.py:567
#, fuzzy
msgid "Invalid Read Column"
msgstr "Ogiltig roll"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web konfiguration uppdaterad"
-#: cps/admin.py:595
+#: 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:597
+#: 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:599
+#: 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:601
+#: 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:603
+#: 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:605
+#: 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:607
+#: 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:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: 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:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Taggen hittades inte"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "Ogiltig åtgärd"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json är inte konfigurerad för webbapplikation"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
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:1133
+#: cps/admin.py:1143
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:1163
+#: cps/admin.py:1173
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:1169
+#: cps/admin.py:1179
#, 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:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, 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:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP-gruppobjektfilter har omatchande parentes"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, 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:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP-användarobjektfilter har omatchad parentes"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, 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:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Användarfilter för LDAP-medlemmar har omatchad parentes"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
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:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Lägg till ny användare"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Ändra SMTP-inställningar"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
#, fuzzy
msgid "Gmail Account Verification Successful"
msgstr "Verifiering av G-mail-kontot lyckades"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "Databasfel: %(error)s."
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, 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:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Vänligen konfigurera din e-postadress först..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "E-postserverinställningar uppdaterade"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Ett okänt fel uppstod. Försök igen senare."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Redigera användaren %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Lösenord för användaren %(user)s återställd"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Konfigurera SMTP-postinställningarna först..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Visaren för loggfil"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Begär uppdateringspaketet"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Hämtar uppdateringspaketet"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Packar upp uppdateringspaketet"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Ersätta filer"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Databasanslutningarna är stängda"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Stoppar server"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Uppdatering klar, tryck på okej och uppdatera sidan"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Uppdateringen misslyckades:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP-fel"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Anslutningsfel"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "Tiden ute när du etablerade anslutning"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Allmänt fel"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Uppdateringsfilen kunde inte sparas i Temp Dir"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Det gick inte att skapa minst en LDAP-användare"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "Det gick inte att skapa minst en LDAP-användare"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fel: %(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "Fel: Ingen användare återges som svar på LDAP-servern"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minst en LDAP-användare hittades inte i databasen"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} användare har importerats"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
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:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "DB är inte skrivbar"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
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:1712
+#: cps/admin.py:1722
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:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "E-postserverinställningar uppdaterade"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Funktion konfiguration"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Fyll i alla fält!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-posten är inte från giltig domän"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Användaren '%(user)s' skapad"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "Hittade ett befintligt konto för den här e-postadressen eller namnet."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Användaren '%(nick)s' borttagen"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "Det går inte att ta bort gästanvändaren"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Användaren '%(nick)s' uppdaterad"
@@ -509,122 +518,122 @@ msgstr "inte installerad"
msgid "Execution permissions missing"
msgstr "Körningstillstånd saknas"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, 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:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Ingen"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Hoppsan! Vald boktitel är inte tillgänglig. Filen finns inte eller är inte tillgänglig"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "Identifierare är inte skiftlägeskänsliga, skriver över gammal identifierare"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metadata uppdaterades"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "Filen %(file)s uppladdad"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "Källa eller målformat för konvertering saknas"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s är inte ett giltigt språk"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Filen som ska laddas upp måste ha en ändelse"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, 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:756
+#: cps/editbooks.py:760
#, 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:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "Bokformat har tagits bort"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "Boken har tagits bort"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "redigera metadata"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, 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:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "Det gick inte att lagra filen %(file)s."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "Filformatet %(ext)s lades till %(book)s"
@@ -637,167 +646,176 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s hittades inte: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Skicka till Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Detta e-postmeddelande har skickats via Calibre-Web."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web test e-post"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Test e-post"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Kom igång med Calibre-Web"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Registrera e-post för användare: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "Konvertera %(orig)s till %(format)s och skicka till Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Skicka %(format)s till Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Skicka till Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "Den begärda filen kunde inte läsas. Kanske fel behörigheter?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "Borttagning av bokmapp för boken %(id)s misslyckades, sökvägen har undermappar: %(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Borttagning av boken %(id)s misslyckades: %(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, fuzzy, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Borttagning av boken %(id)s, boksökväg inte giltig: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Filen %(file)s hittades inte på Google Drive"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boksökvägen %(path)s hittades inte på Google Drive"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "Hittade ett befintligt konto för den här e-postadressen"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Detta användarnamn är redan taget"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "Ogiltigt e-postadressformat"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "Fel vid hämtning av omslaget"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "Fel på omslagsformat"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "Det gick inte att skapa sökväg för omslag"
-#: cps/helper.py:853
+#: cps/helper.py:857
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:864
+#: cps/helper.py:868
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:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Endast jpg/jpeg-filer stöds som omslagsfil"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "Unrar binär fil hittades inte"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "Fel vid körning av UnRar"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Upptäck"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1371,12 +1389,12 @@ msgstr "Ange giltigt användarnamn för att återställa lösenordet"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Du är nu inloggad som: \"%(nickname)s\""
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profil"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profilen uppdaterad"
@@ -1430,6 +1448,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "redigera metadata"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1663,40 +1686,40 @@ msgstr "Starta om Calibre-Web"
msgid "Shutdown"
msgstr "Stoppa Calibre-Web"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detaljer"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Aktuell version"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Sök efter uppdatering"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Utför uppdatering"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
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:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1707,11 +1730,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Avbryt"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "Är du säker på att du vill stoppa Calibre-Web?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Uppdaterar, vänligen uppdatera inte sidan"
@@ -2015,7 +2038,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo
index 59552cc7..a82efa7a 100644
Binary files a/cps/translations/tr/LC_MESSAGES/messages.mo and b/cps/translations/tr/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/tr/LC_MESSAGES/messages.po b/cps/translations/tr/LC_MESSAGES/messages.po
index 3751f2e0..1cbd6c6e 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-04-23 22:47+0300\n"
"Last-Translator: iz \n"
"Language: tr\n"
@@ -38,461 +38,470 @@ msgstr ""
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "%(kindlemail)s'a gönderilmek üzere başarıyla sıraya alındı"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Bilinmeyen"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Yönetim sayfası"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Temel Ayarlar"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Arayüz Ayarları"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Tümü"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web yapılandırması güncellendi"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr ""
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr ""
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
#, 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:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Yeni kullanıcı ekle"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, 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:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "Lütfen önce e-posta adresinizi ayarlayın..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "E-posta sunucusu ayarları güncellendi"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz."
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s kullanıcısını düzenle"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s kullanıcısının şifresi sıfırlandı"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "Log dosyası görüntüleyici"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Güncelleme paketi isteniyor"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Güncelleme paketi indiriliyor"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Güncelleme paketi ayıklanıyor"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Dosyalar değiştiriliyor"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "Veritabanı bağlantıları kapalı"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Sunucu durduruyor"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
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:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Güncelleme başarısız:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP Hatası"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 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:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Genel hata"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "%(filename)s dosyası geçici dizine kaydedilemedi"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "E-posta sunucusu ayarları güncellendi"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Özellik Yapılandırması"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Lütfen tüm alanları doldurun!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "E-posta izin verilen bir servisten değil"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "'%(user)s' kullanıcısı oluşturuldu"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Bu e-posta adresi veya kullanıcı adı için zaten bir hesap var."
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Kullanıcı '%(nick)s' silindi"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "Başka yönetici kullanıcı olmadığından silinemedi"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "'%(nick)s' kullanıcısı güncellendi"
@@ -505,122 +514,122 @@ msgstr "yüklü değil"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Hiçbiri"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "Metaveri başarıyla güncellendi"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "%(file)s dosyası yüklendi"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
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:323
+#: cps/editbooks.py:326
#, 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:327
+#: cps/editbooks.py:330
#, 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:631
+#: cps/editbooks.py:635
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:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s geçerli bir dil değil"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, 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:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "%(filename)s dosyası geçici dizine kaydedilemedi"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "metaveri düzenle"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "%(file)s dosyası kaydedilemedi."
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi"
@@ -633,167 +642,176 @@ 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:79
+#: cps/helper.py:80
#, 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:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "%(format)s bulunamadı: %(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Kindle'a gönder"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "Bu e-Posta Calibre-Web ile gönderilmiştir."
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web deneme e-Postası"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "Deneme e-Postası"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "Calibre-Web'i Kullanmaya Başlayın"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "Kullanıcı Kayıt e-Postası: %(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "%(orig)s'dan %(format)s biçimine çevir ve Kindle'a gönder"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "%(format)s biçimlerini Kindle'a gönder"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Kindle'a gönder"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "İstenilen dosya okunamadı. Yanlış izinlerden kaynaklanabilir?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "%(file)s dosyası Google Drive'da bulunamadı"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bu e-posta adresi için bir hesap mevcut."
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "Bu kullanıcı adı zaten alındı"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Keşfet"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1366,12 +1384,12 @@ msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Giriş yaptınız: '%(nickname)s'"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s Profili"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Profil güncellendi"
@@ -1425,6 +1443,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "metaveri düzenle"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1658,40 +1681,40 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Sürüm"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Detaylar"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Geçerli sürüm"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Güncelle"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1702,11 +1725,11 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr ""
@@ -2010,7 +2033,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo
index 57e440e0..20c67db3 100644
Binary files a/cps/translations/uk/LC_MESSAGES/messages.mo and b/cps/translations/uk/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po
index e08f296b..53d5821f 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: ABIS Team \n"
"Language: uk\n"
@@ -37,463 +37,471 @@ msgstr "Підключення успішне"
msgid "Unknown command"
msgstr "Невідома команда"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+msgid "Books successfully queued for Metadata Backup"
+msgstr ""
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "Невідомий"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "Сторінка адміністратора"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "Конфігурація інтерфейсу"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
#, fuzzy
msgid "Edit Users"
msgstr "Керування сервером"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "Всі"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "Користувача не знайдено"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "{} користувачі видалені успішно"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "Не правильна роль"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:603
+#: cps/admin.py:613
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: 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:611
+#: 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:614
+#: 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:616
+#: cps/admin.py:626
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "Тег не знайдено"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "Додати користувача"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "Змінити налаштування SMTP"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "Змінити користувача %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP"
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "Перевірка оновлень"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "Завантаження оновлень"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "Розпакування оновлення"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "Заміна файлів"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "З'єднання з базою даних закрите"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "Сервер зупиняється"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "Оновлення неуспішне:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP помилка"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "Помилка зʼєднання"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "Помилка"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "З'єднання з базою даних закрите"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
#, fuzzy
msgid "Database Configuration"
msgstr "Особливі налаштування"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "Будь-ласка, заповніть всі поля!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "Користувач '%(user)s' додан"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Користувача '%(nick)s' видалено"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Користувача '%(nick)s' оновлено"
@@ -506,122 +514,122 @@ msgstr "не встановлено"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "Ні"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу."
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr ""
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "Завантажувальний файл повинен мати розширення"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "змінити метадані"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
@@ -634,166 +642,175 @@ msgstr ""
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr "Домен зворотнього зв'язку не підтверджено. Виконайте дії для підтвердження домену, будь-ласка"
-#: cps/helper.py:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 cps/tasks/convert.py:75
#, python-format
msgid "%(format)s not found on Google Drive: %(fn)s"
msgstr ""
-#: cps/helper.py:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr ""
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "Відправити на Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr ""
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr ""
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr ""
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr ""
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr ""
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "Надіслати %(format)s до E-Reader"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "Відправити на Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr ""
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "Огляд"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1365,12 +1382,12 @@ msgstr ""
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "Профіль %(name)s"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "Профіль оновлено"
@@ -1424,6 +1441,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "змінити метадані"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1657,40 +1679,40 @@ msgstr "Перезавантажити"
msgid "Shutdown"
msgstr "Вимкнути"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "Інформація про версію"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "Версія"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "Деталі"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "Поточна версія"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "Перевірка оновлень"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "Встановити оновлення"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "Впевнені що хочете перезавантажити?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1701,11 +1723,11 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Скасувати"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "Встановлення оновлень, будь-ласка, не оновлюйте сторінку"
@@ -2008,7 +2030,7 @@ msgid "Comments"
msgstr "Коментарі"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
index b72a64b5..af2bc3b8 100644
Binary files a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po
index ed478ad5..d4a30cfc 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: xlivevil \n"
"Language: zh_CN\n"
@@ -38,456 +38,464 @@ msgstr "重新连接成功"
msgid "Unknown command"
msgstr "未知命令"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+msgid "Books successfully queued for Metadata Backup"
+msgstr "书籍已为元数据备份排队"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "未知"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "管理页"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "基本配置"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "管理用户"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "全部"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "找不到用户"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "成功删除 {} 个用户"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "格式错误的请求"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "访客名称无法更改"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "游客无法拥有此角色"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
-msgstr "理员账户不存在,无法删除管理员角色"
+msgstr "没有其余管理员账户,无法删除管理员角色"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr "值必须是 true 或 false"
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "无效角色"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "游客无法拥有此视图"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "无效视图"
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "游客的本地化是自动侦测而无法设置的"
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "无可用本地化"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "无有效书籍语言"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "参数未找到"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "无效的阅读列"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "无效的限制列"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web配置已更新"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "您确定删除Kobo Token吗?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "您确定要删除此域吗?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "您确定要删除此用户吗?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "您确定要删除此书架吗?"
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "您确定要修改选定用户的本地化设置吗?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "您确定要修改选定用户的可见书籍语言吗?"
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "您确定要修改选定用户的选定角色吗?"
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "您确定要修改选定用户的选定限制吗?"
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "您确定要更改所选用户的书架同步行为吗?"
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr "您确定要更改 Calibre 库位置吗?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr "{} 同步项目被删除"
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "标签未找到"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "无效的动作"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json 未为 Web 应用程序配置"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "日志文件路径无效,请输入正确的路径"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "访问日志路径无效,请输入正确的路径"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "请输入LDAP主机、端口、DN和用户对象标识符"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "请输入一个LDAP服务账号和密码 "
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "请输入一个LDAP服务账号"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP组对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP组对象过滤器的括号不匹配"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP用户对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP用户对象过滤器的括号不匹配"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP成员用户过滤器需要有一个“%s”格式标识符"
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP成员用户过滤器中有不匹配的括号"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CA证书、证书或密钥位置无效,请输入正确的路径"
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "添加新用户"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "编辑邮件服务器设置"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "G-Mail账号校验成功"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "数据库错误:%(error)s。"
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "发送给%(email)s的测试邮件已进入队列。请检查任务结果"
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "发送测试邮件时出错:%(res)s"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "请先配置您的邮箱地址..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "邮件服务器设置已更新"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr "编辑计划任务设置"
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr "指定任务的开始时间无效"
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr "指定任务的持续时间无效"
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr "已更新计划任务设置"
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "发生一个未知错误,请稍后再试。"
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr "设置数据库不可写"
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用户 %(user)s 的密码已重置"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱设置..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "日志文件查看器"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "正在请求更新包"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "正在下载更新包"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "正在解压更新包"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "正在替换文件"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "数据库连接已关闭"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "正在停止服务器"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,请点击确定并刷新页面"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "更新失败:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP错误"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "连接错误"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "建立连接超时"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "一般错误"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr "更新文件无法保存在临时目录中"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "更新期间无法替换文件"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "未能提取至少一个LDAP用户"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "未能创建至少一个LDAP用户"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "错误:%(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "错误:在LDAP服务器的响应中没有返回用户"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "数据库中没有找到至少一个LDAP用户"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} 用户被成功导入"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "数据库路径无效,请输入正确的路径"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "数据库不可写入"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "密钥文件路径无效,请输入正确的路径"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "证书文件路径无效,请输入正确的路径"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr "数据库设置已更新"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "数据库配置"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "请填写所有字段!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "邮箱不在有效域中"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "用户“%(user)s”已创建"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "使用此邮箱或用户名的账号已经存在。"
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户“%(nick)s”已删除"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "无法删除游客用户"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "管理员账户不存在,无法删除用户"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr "电子邮件地址不能为空,并且必须是有效的电子邮件"
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户“%(nick)s”已更新"
@@ -500,122 +508,122 @@ msgstr "未安装"
msgid "Execution permissions missing"
msgstr "缺少执行权限"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "自定义列号:%(column)d在Calibre数据库中不存在"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "无"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr "用户没有权限上传封面"
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "标识符不区分大小写,覆盖旧标识符"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "已成功更新元数据"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr "编辑书籍时出错: {}"
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "文件 %(file)s 已上传"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "转换的源或目的格式缺失"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "书籍已经被成功加入到 %(book_format)s 格式转换队列"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "转换此书籍时出现错误: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "上传的书籍可能已经存在,建议修改后重新上传: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "'%(langname)s' 不是一种有效语言"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "要上传的文件必须具有扩展名"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "文件 %(filename)s 无法保存到临时目录"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "移动封面文件失败 %(file)s:%(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "书籍格式已成功删除"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "书籍已成功删除"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr "您没有删除书籍的权限"
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "编辑元数据"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s 不是一个有效的数值,忽略"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr "用户没有权限上传其他文件格式"
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "创建路径 %(path)s 失败(权限拒绝)。"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失败。"
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "已添加 %(ext)s 格式到 %(book)s"
@@ -628,166 +636,173 @@ 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:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "找不到id为 %(book)d 的书籍的 %(format)s 格式"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "找不到 %(format)s:%(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr "发送到电子阅读器"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "此邮件已经通过Calibre-Web发送。"
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web测试邮件"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "测试邮件"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "开启Calibre-Web之旅"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "用户注册电子邮件:%(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "转换 %(orig)s 到 %(format)s 并发送到电子阅读器"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr "发送 %(format)s 到电子阅读器"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s发送到电子阅读器"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "无法读取请求的文件。可能有错误的权限设置?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr "阅读状态无法设置: {}"
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "删除书的文件夹%(id)s失败,路径有子文件夹:%(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "删除书籍 %(id)s失败:%(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "仅从数据库中删除书籍 %(id)s,数据库中的书籍路径无效: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "将作者从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Google Drive上找不到文件 %(file)s"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "将标题从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr "重命名此路径: {}文件时出错"
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google Drive上找不到书籍路径 %(path)s"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "使用此邮箱的账号已经存在。"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "此用户名已被使用"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "无效的邮件地址格式"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr "上传封面需要的Python模块'advocate'未安装"
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "下载封面时出错"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "封面格式出错"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr "您没有访问本地主机或本地网络进行封面上传"
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "创建封面路径失败"
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "封面文件不是有效的图片文件,或者无法存储"
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "封面文件只支持jpg/jpeg/png/webp/bmp文件"
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr "封面文件内容无效"
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "仅将jpg、jpeg文件作为封面文件"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "找不到Unrar执行文件"
-#: cps/helper.py:943
-#, fuzzy
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr "执行UnRar时出错"
+#: cps/helper.py:1040
+msgid "Cover"
+msgstr "封面"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr "将所有书籍排队以进行元数据备份"
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr "请不要使用localhost访问Calibre-Web,以便Kobo设备能获取有效的api_endpoint"
@@ -1357,12 +1372,12 @@ msgstr "请输入有效的用户名进行密码重置"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”登录"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用户配置"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "资料已更新"
@@ -1416,6 +1431,10 @@ msgstr "正在重新连接到Calibre数据库"
msgid "E-mail"
msgstr "电子邮件"
+#: cps/tasks/metadata_backup.py:47
+msgid "Backing up Metadata"
+msgstr "正在备份元数据"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1647,40 +1666,40 @@ msgstr "重启"
msgid "Shutdown"
msgstr "停止"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr "版本信息"
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "版本"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "详情"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "当前版本"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "检查更新"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "执行更新"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "您确定要重启吗?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "确定"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1691,11 +1710,11 @@ msgstr "确定"
msgid "Cancel"
msgstr "取消"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "您确定要关闭吗?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "正在更新,请不要刷新页面"
@@ -1997,7 +2016,7 @@ msgid "Comments"
msgstr "简介"
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr "存档状态"
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
@@ -2110,7 +2129,7 @@ msgstr "功能配置"
#: cps/templates/config_edit.html:104
msgid "Convert non-English characters in title and author while saving to disk"
-msgstr "保存到磁盘事转换标题和作者中的非英文字符"
+msgstr "保存到磁盘时转换标题和作者中的非英文字符"
#: cps/templates/config_edit.html:108
msgid "Enable Uploads"
@@ -3275,7 +3294,7 @@ msgstr "本地化"
#: cps/templates/user_table.html:138
msgid "Visible Book Languages"
-msgstr "可见数据语言"
+msgstr "可见书籍语言"
#: cps/templates/user_table.html:139
msgid "Edit Allowed Tags"
diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo
index 51cbee38..62c88dab 100644
Binary files a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po
index 4ee775f3..f54046de 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: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: xlivevil \n"
"Language: zh_TW\n"
@@ -38,458 +38,467 @@ msgstr "重新連接成功"
msgid "Unknown command"
msgstr "未知命令"
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+#, fuzzy
+msgid "Books successfully queued for Metadata Backup"
+msgstr "書籍已經成功加入 %(kindlemail)s 的發送隊列"
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr "未知"
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr "管理頁"
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr "基本配置"
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr "管理用戶"
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr "全部"
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr "找不到用戶"
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr "成功刪除 {} 個用戶"
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr "格式錯誤的請求"
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr "訪客名稱無法更改"
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr "遊客無法擁有此角色"
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr "管理員賬戶不存在,無法刪除管理員角色"
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr "值必須是 true 或 false"
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr "無效角色"
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr "遊客無法擁有此視圖"
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr "無效視圖"
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "訪客的本地化是自動偵測而無法設置的"
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr "無可用本地化"
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr "無有效書籍語言"
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr "參數未找到"
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr "無效的閱讀列"
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr "無效的限制列"
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web配置已更新"
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr "您確定刪除Kobo Token嗎?"
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr "您確定要刪除此網域嗎?"
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr "您確定要刪除此用戶嗎?"
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr "您確定要刪除此書架嗎?"
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "您確定要修改選定用戶的本地化設置嗎?"
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "您確定要修改選定用戶的可見書籍語言嗎?"
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "您確定要修改選定用戶的選定角色嗎?"
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "您確定要修改選定用戶的選定限制嗎?"
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "您確定要更改所選用戶的書架同步行為嗎?"
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr "您確定要更改 Calibre 庫位置嗎?"
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr "標籤未找到"
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr "無效的動作"
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json 未為 Web 應用程序配置"
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "日誌文件路徑無效,請輸入正確的路徑"
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "訪問日誌路徑無效,請輸入正確的路徑"
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "請輸入LDAP主機、端口、DN和用戶對象標識符"
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr "請輸入一個LDAP服務賬號和密碼 "
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr "請輸入一個LDAP服務賬號"
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP群組對象過濾器需要一個具有“%s”格式標識符號"
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP群組對象過濾器的括號不匹配"
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP用戶對象過濾器需要一個具有“%s”格式標識符"
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP用戶對象過濾器的括號不匹配"
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP成員用戶過濾器需要有一個“%s”格式標識符號"
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP成員用戶過濾器中有不匹配的括號"
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CA證書、證書或密鑰位置無效,請輸入正確的路徑"
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr "添加新用戶"
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr "編輯郵件服務器設置"
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr "G-Mail賬號驗證成功"
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr "數據庫錯誤:%(error)s。"
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果"
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "發送測試郵件時出錯:%(res)s"
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr "請先配置您的郵箱地址..."
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr "郵件服務器設置已更新"
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr "發生一個未知錯誤,請稍後再試。"
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr "編輯用戶 %(nick)s"
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用戶 %(user)s 的密碼已重置"
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr "請先配置SMTP郵箱設置..."
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr "日誌文件查看器"
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr "正在請求更新包"
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr "正在下載更新包"
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr "正在解壓更新包"
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr "正在替換文件"
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr "數據庫連接已關閉"
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr "正在停止服務器"
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,請點擊確定並刷新頁面"
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr "更新失敗:"
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr "HTTP錯誤"
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr "連接錯誤"
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr "建立連接超時"
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr "一般錯誤"
-#: cps/admin.py:1495
+#: cps/admin.py:1505
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "更新文件無法保存在臨時目錄中"
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr "更新時檔案無法替換變更"
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr "未能提取至少一個LDAP用戶"
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr "未能創建至少一個LDAP用戶"
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "錯誤:%(ldaperror)s"
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr "錯誤:在LDAP服務器的響應中沒有返回用戶"
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr "數據庫中沒有找到至少一個LDAP用戶"
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr "{} 用戶被成功導入"
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "數據庫路徑無效,請輸入正確的路徑"
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr "數據庫不可寫入"
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "密鑰文件路徑無效,請輸入正確的路徑"
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "證書文件路徑無效,請輸入正確的路徑"
-#: cps/admin.py:1820
+#: cps/admin.py:1830
#, fuzzy
msgid "Database Settings updated"
msgstr "郵件服務器設置已更新"
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr "數據庫配置"
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr "請填寫所有欄位!"
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr "郵箱不在有效網域中"
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr "用戶“%(user)s”已創建"
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr "使用此郵箱或用戶名的賬號已經存在。"
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用戶“%(nick)s”已刪除"
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr "無法刪除訪客用戶"
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr "管理員賬戶不存在,無法刪除用戶"
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用戶“%(nick)s”已更新"
@@ -502,122 +511,122 @@ msgstr "未安裝"
msgid "Execution permissions missing"
msgstr "缺少執行權限"
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, fuzzy, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr "自定義列號:%(column)d在Calibre數據庫中不存在"
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr "無"
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問"
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr "標識符不區分大小寫,覆蓋舊標識符"
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr "已成功更新元數據"
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr "文件 %(file)s 已上傳"
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr "轉換的來源或目的格式不存在"
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr "書籍已經被成功加入到 %(book_format)s 格式轉換隊列"
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr "轉換此書籍時出現錯誤: %(res)s"
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr "上傳的書籍可能已經存在,建議修改後重新上傳: "
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, fuzzy, python-format
msgid "'%(langname)s' is not a valid language"
msgstr "%(langname)s 不是一種有效語言"
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器"
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr "要上傳的文件必須具有附檔名"
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr "文件 %(filename)s 無法保存到臨時目錄"
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr "移動封面文件失敗 %(file)s:%(error)s"
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr "書籍格式已成功刪除"
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr "書籍已成功刪除"
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr "編輯元數據"
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr "%(seriesindex)s 不是一個有效的數值,忽略"
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr "創建路徑 %(path)s 失敗(權限拒絕)。"
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失敗。"
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr "已添加 %(ext)s 格式到 %(book)s"
@@ -630,167 +639,176 @@ 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:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr "找不到id為 %(book)d 的書籍的 %(format)s 格式"
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 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:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr "找不到 %(format)s:%(fn)s"
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
#, fuzzy
msgid "Send to E-Reader"
msgstr "發送到Kindle"
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr "此郵件已經通過Calibre-Web發送。"
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr "Calibre-Web測試郵件"
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr "測試郵件"
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr "開啟Calibre-Web之旅"
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr "用戶註冊電子郵件:%(name)s"
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, fuzzy, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr "轉換 %(orig)s 到 %(format)s 並發送到Kindle"
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, fuzzy, python-format
msgid "Send %(format)s to E-Reader"
msgstr "發送 %(format)s 到Kindle"
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, fuzzy, python-format
msgid "%(book)s send to E-Reader"
msgstr "%(book)s發送到Kindle"
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr "無法讀取請求的文件。可能有錯誤的權限設置?"
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr "刪除書的文件夾%(id)s失敗,路徑有子文件夾:%(path)s"
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "刪除書籍 %(id)s失敗:%(message)s"
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "僅從數據庫中刪除書籍 %(id)s,數據庫中的書籍路徑無效: %(path)s"
-#: cps/helper.py:449
+#: cps/helper.py:450
#, fuzzy, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s"
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Google Drive上找不到文件 %(file)s"
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s"
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google Drive上找不到書籍路徑 %(path)s"
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr "使用此郵箱的賬號已經存在。"
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr "此用戶名已被使用"
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr "無效的郵件地址格式"
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr "下載封面時出錯"
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr "封面格式出錯"
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr "創建封面路徑失敗"
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "封面文件不是有效的圖片文件,或者無法儲存"
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "封面文件只支持jpg/jpeg/png/webp/bmp格式文件"
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "僅將jpg、jpeg文件作為封面文件"
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr "找不到Unrar執行文件"
-#: cps/helper.py:943
+#: cps/helper.py:947
#, fuzzy
msgid "Error executing UnRar"
msgstr "執行UnRar時出錯"
+#: cps/helper.py:1040
+#, fuzzy
+msgid "Cover"
+msgstr "發現"
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
#, fuzzy
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
@@ -1362,12 +1380,12 @@ msgstr "請輸入有效的用戶名進行密碼重置"
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您現在已以“%(nickname)s”登入"
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用戶配置"
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr "資料已更新"
@@ -1421,6 +1439,11 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+#, fuzzy
+msgid "Backing up Metadata"
+msgstr "編輯元數據"
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1653,40 +1676,40 @@ msgstr "重啟"
msgid "Shutdown"
msgstr "停止"
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr "版本"
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr "詳情"
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr "當前版本"
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr "檢查更新"
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr "執行更新"
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr "您確定要重啟嗎?"
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr "確定"
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1697,11 +1720,11 @@ msgstr "確定"
msgid "Cancel"
msgstr "取消"
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr "您確定要關閉嗎?"
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr "正在更新,請不要刷新頁面"
@@ -2005,7 +2028,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42
diff --git a/messages.pot b/messages.pot
index 789c4c53..e8e125da 100644
--- a/messages.pot
+++ b/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-08-27 10:01+0200\n"
+"POT-Creation-Date: 2022-10-02 11:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -37,456 +37,464 @@ msgstr ""
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:192 cps/editbooks.py:572 cps/editbooks.py:574
-#: cps/editbooks.py:610 cps/editbooks.py:627 cps/editbooks.py:1234
-#: cps/updater.py:613 cps/uploader.py:87 cps/uploader.py:97
+#: cps/admin.py:169
+msgid "Books successfully queued for Metadata Backup"
+msgstr ""
+
+#: cps/admin.py:202 cps/editbooks.py:576 cps/editbooks.py:578
+#: cps/editbooks.py:614 cps/editbooks.py:631 cps/editbooks.py:1238
+#: cps/updater.py:613 cps/uploader.py:86 cps/uploader.py:96
msgid "Unknown"
msgstr ""
-#: cps/admin.py:217
+#: cps/admin.py:227
msgid "Admin page"
msgstr ""
-#: cps/admin.py:237
+#: cps/admin.py:247
msgid "Basic Configuration"
msgstr ""
-#: cps/admin.py:275
+#: cps/admin.py:285
msgid "UI Configuration"
msgstr ""
-#: cps/admin.py:309 cps/templates/admin.html:51
+#: cps/admin.py:319 cps/templates/admin.html:51
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14
+#: cps/admin.py:363 cps/opds.py:532 cps/templates/grid.html:14
#: cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:380 cps/admin.py:1370
+#: cps/admin.py:390 cps/admin.py:1380
msgid "User not found"
msgstr ""
-#: cps/admin.py:394
+#: cps/admin.py:404
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:417 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:438 cps/admin.py:444
+#: cps/admin.py:448 cps/admin.py:454
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:456 cps/admin.py:1968
+#: cps/admin.py:466 cps/admin.py:1981
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:468
+#: cps/admin.py:478
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:480 cps/admin.py:1926
+#: cps/admin.py:490 cps/admin.py:1936
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:484 cps/admin.py:498
+#: cps/admin.py:494 cps/admin.py:508
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:486
+#: cps/admin.py:496
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:490
+#: cps/admin.py:500
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:500
+#: cps/admin.py:510
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:503
+#: cps/admin.py:513
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:507
+#: cps/admin.py:517
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:518
+#: cps/admin.py:528
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:520 cps/editbooks.py:439
+#: cps/admin.py:530 cps/editbooks.py:442
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:557
+#: cps/admin.py:567
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:563
+#: cps/admin.py:573
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:583 cps/admin.py:1797
+#: cps/admin.py:593 cps/admin.py:1807
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:595
+#: cps/admin.py:605
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:597
+#: cps/admin.py:607
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:599
+#: cps/admin.py:609
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:601
+#: cps/admin.py:611
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:603
+#: cps/admin.py:613
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:605
+#: cps/admin.py:615
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:607
+#: cps/admin.py:617
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:609
+#: cps/admin.py:619
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:611
+#: 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:614
+#: cps/admin.py:624
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr ""
-#: cps/admin.py:616
+#: cps/admin.py:626
msgid "Are you sure you want to change Calibre library location?"
msgstr ""
-#: cps/admin.py:618
+#: 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:621
+#: 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:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890
+#: 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:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892
+#: 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:907
+#: cps/admin.py:917
msgid "{} sync entries deleted"
msgstr ""
-#: cps/admin.py:955
+#: cps/admin.py:965
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:967
+#: cps/admin.py:977
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:1082
+#: cps/admin.py:1092
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1127
+#: cps/admin.py:1137
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1133
+#: cps/admin.py:1143
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1163
+#: cps/admin.py:1173
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1169
+#: cps/admin.py:1179
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1172
+#: cps/admin.py:1182
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1177
+#: cps/admin.py:1187
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1179
+#: cps/admin.py:1189
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1193
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1185
+#: cps/admin.py:1195
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1192
+#: cps/admin.py:1202
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1194
+#: cps/admin.py:1204
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1211
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1232 cps/admin.py:1858
+#: cps/admin.py:1242 cps/admin.py:1868
msgid "Add new user"
msgstr ""
-#: cps/admin.py:1241 cps/templates/admin.html:100
+#: cps/admin.py:1251 cps/templates/admin.html:100
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1260
+#: cps/admin.py:1270
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1279 cps/admin.py:1282 cps/admin.py:1663 cps/admin.py:1781
-#: cps/admin.py:1879 cps/admin.py:1996 cps/editbooks.py:228
-#: cps/editbooks.py:302 cps/editbooks.py:1197 cps/shelf.py:82 cps/shelf.py:142
+#: cps/admin.py:1289 cps/admin.py:1292 cps/admin.py:1673 cps/admin.py:1791
+#: cps/admin.py:1889 cps/admin.py:2009 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:1416
+#: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1419
#, python-format
msgid "Database error: %(error)s."
msgstr ""
-#: cps/admin.py:1289
+#: cps/admin.py:1299
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1292
+#: cps/admin.py:1302
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1294
+#: cps/admin.py:1304
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1296
+#: cps/admin.py:1306
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1319 cps/templates/admin.html:191
+#: cps/admin.py:1329 cps/templates/admin.html:191
msgid "Edit Scheduled Tasks Settings"
msgstr ""
-#: cps/admin.py:1331
+#: cps/admin.py:1341
msgid "Invalid start time for task specified"
msgstr ""
-#: cps/admin.py:1336
+#: cps/admin.py:1346
msgid "Invalid duration for task specified"
msgstr ""
-#: cps/admin.py:1345
+#: cps/admin.py:1355
msgid "Scheduled tasks settings updated"
msgstr ""
-#: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1257
+#: cps/admin.py:1365 cps/admin.py:1414 cps/admin.py:2005 cps/web.py:1257
#: cps/web.py:1318
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1359
+#: cps/admin.py:1369
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1389 cps/admin.py:1984
+#: cps/admin.py:1399 cps/admin.py:1997
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/admin.py:1401
+#: cps/admin.py:1411
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1407 cps/web.py:1197
+#: cps/admin.py:1417 cps/web.py:1197
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/admin.py:1418
+#: cps/admin.py:1428
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1484
+#: cps/admin.py:1494
msgid "Requesting update package"
msgstr ""
-#: cps/admin.py:1485
+#: cps/admin.py:1495
msgid "Downloading update package"
msgstr ""
-#: cps/admin.py:1486
+#: cps/admin.py:1496
msgid "Unzipping update package"
msgstr ""
-#: cps/admin.py:1487
+#: cps/admin.py:1497
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1488
+#: cps/admin.py:1498
msgid "Database connections are closed"
msgstr ""
-#: cps/admin.py:1489
+#: cps/admin.py:1499
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1490
+#: cps/admin.py:1500
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/admin.py:1491 cps/admin.py:1492 cps/admin.py:1493 cps/admin.py:1494
-#: cps/admin.py:1495 cps/admin.py:1496
+#: cps/admin.py:1501 cps/admin.py:1502 cps/admin.py:1503 cps/admin.py:1504
+#: cps/admin.py:1505 cps/admin.py:1506
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1491 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
+#: cps/admin.py:1501 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1492 cps/updater.py:391 cps/updater.py:628
+#: cps/admin.py:1502 cps/updater.py:391 cps/updater.py:628
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630
+#: cps/admin.py:1503 cps/updater.py:393 cps/updater.py:630
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632
+#: cps/admin.py:1504 cps/updater.py:395 cps/updater.py:632
msgid "General error"
msgstr ""
-#: cps/admin.py:1495
+#: cps/admin.py:1505
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1496
+#: cps/admin.py:1506
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1520
+#: cps/admin.py:1530
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1565
+#: cps/admin.py:1575
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1578
+#: cps/admin.py:1588
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1582
+#: cps/admin.py:1592
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1615
+#: cps/admin.py:1625
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1617
+#: cps/admin.py:1627
msgid "{} User Successfully Imported"
msgstr ""
-#: cps/admin.py:1675
+#: cps/admin.py:1685
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1695
+#: cps/admin.py:1705
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1708
+#: cps/admin.py:1718
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1712
+#: cps/admin.py:1722
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1820
+#: cps/admin.py:1830
msgid "Database Settings updated"
msgstr ""
-#: cps/admin.py:1828
+#: cps/admin.py:1838
msgid "Database Configuration"
msgstr ""
-#: cps/admin.py:1844 cps/web.py:1232
+#: cps/admin.py:1854 cps/web.py:1232
msgid "Please fill out all fields!"
msgstr ""
-#: cps/admin.py:1852
+#: cps/admin.py:1862
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1869
+#: cps/admin.py:1879
#, python-format
msgid "User '%(user)s' created"
msgstr ""
-#: cps/admin.py:1875
+#: cps/admin.py:1885
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1905
+#: cps/admin.py:1915
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/admin.py:1907 cps/admin.py:1908
+#: cps/admin.py:1917 cps/admin.py:1918
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1911
+#: cps/admin.py:1921
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1988
+#: cps/admin.py:1975 cps/web.py:1369
+msgid "E-Mail Address can't be empty and has to be a valid E-Mail"
+msgstr ""
+
+#: cps/admin.py:2001
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
@@ -499,122 +507,122 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:679 cps/search.py:137 cps/web.py:722
+#: cps/db.py:724 cps/search.py:137 cps/web.py:722
#, python-format
msgid "Custom Column No.%(column)d does not exist in calibre database"
msgstr ""
-#: cps/db.py:922 cps/templates/config_edit.html:204
+#: cps/db.py:967 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41
#: cps/web.py:549 cps/web.py:583 cps/web.py:658 cps/web.py:683 cps/web.py:964
#: cps/web.py:994 cps/web.py:1030 cps/web.py:1058 cps/web.py:1097
msgid "None"
msgstr ""
-#: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1457
-#: cps/web.py:1499 cps/web.py:1544
+#: cps/editbooks.py:110 cps/editbooks.py:895 cps/web.py:516 cps/web.py:1460
+#: cps/web.py:1502 cps/web.py:1547
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/editbooks.py:154 cps/editbooks.py:1217
+#: cps/editbooks.py:154 cps/editbooks.py:1221
msgid "User has no rights to upload cover"
msgstr ""
-#: cps/editbooks.py:174 cps/editbooks.py:712
+#: cps/editbooks.py:174 cps/editbooks.py:716
msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier"
msgstr ""
-#: cps/editbooks.py:215
+#: cps/editbooks.py:216
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:233
+#: cps/editbooks.py:234
msgid "Error editing book: {}"
msgstr ""
-#: cps/editbooks.py:288
+#: cps/editbooks.py:291
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:315
+#: cps/editbooks.py:318
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:323
+#: cps/editbooks.py:326
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:327
+#: cps/editbooks.py:330
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
-#: cps/editbooks.py:631
+#: cps/editbooks.py:635
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:686 cps/editbooks.py:1011
+#: cps/editbooks.py:690 cps/editbooks.py:1015
#, python-format
msgid "'%(langname)s' is not a valid language"
msgstr ""
-#: cps/editbooks.py:724 cps/editbooks.py:1158
+#: cps/editbooks.py:728 cps/editbooks.py:1162
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
-#: cps/editbooks.py:728 cps/editbooks.py:1162
+#: cps/editbooks.py:732 cps/editbooks.py:1166
msgid "File to be uploaded must have an extension"
msgstr ""
-#: cps/editbooks.py:736
+#: cps/editbooks.py:740
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:756
+#: cps/editbooks.py:760
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:813 cps/editbooks.py:815
+#: cps/editbooks.py:817 cps/editbooks.py:819
msgid "Book Format Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:822 cps/editbooks.py:824
+#: cps/editbooks.py:826 cps/editbooks.py:828
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:876
+#: cps/editbooks.py:880
msgid "You are missing permissions to delete books"
msgstr ""
-#: cps/editbooks.py:926
+#: cps/editbooks.py:930
msgid "edit metadata"
msgstr ""
-#: cps/editbooks.py:975
+#: cps/editbooks.py:979
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
msgstr ""
-#: cps/editbooks.py:1153
+#: cps/editbooks.py:1157
msgid "User has no rights to upload additional file formats"
msgstr ""
-#: cps/editbooks.py:1174
+#: cps/editbooks.py:1178
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
-#: cps/editbooks.py:1179
+#: cps/editbooks.py:1183
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:1202
+#: cps/editbooks.py:1206
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
@@ -627,165 +635,173 @@ msgstr ""
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr ""
-#: cps/helper.py:79
+#: cps/helper.py:80
#, python-format
msgid "%(format)s format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:86 cps/tasks/convert.py:75
+#: cps/helper.py:87 cps/tasks/convert.py:75
#, python-format
msgid "%(format)s not found on Google Drive: %(fn)s"
msgstr ""
-#: cps/helper.py:91
+#: cps/helper.py:92
#, python-format
msgid "%(format)s not found: %(fn)s"
msgstr ""
-#: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42
+#: cps/helper.py:97 cps/helper.py:226 cps/templates/detail.html:42
#: cps/templates/detail.html:46
msgid "Send to E-Reader"
msgstr ""
-#: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227
+#: cps/helper.py:98 cps/helper.py:116 cps/helper.py:228
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
-#: cps/helper.py:113
+#: cps/helper.py:114
msgid "Calibre-Web test e-mail"
msgstr ""
-#: cps/helper.py:114
+#: cps/helper.py:115
msgid "Test e-mail"
msgstr ""
-#: cps/helper.py:131
+#: cps/helper.py:132
msgid "Get Started with Calibre-Web"
msgstr ""
-#: cps/helper.py:136
+#: cps/helper.py:137
#, python-format
msgid "Registration e-mail for user: %(name)s"
msgstr ""
-#: cps/helper.py:147 cps/helper.py:153
+#: cps/helper.py:148 cps/helper.py:154
#, python-format
msgid "Convert %(orig)s to %(format)s and send to E-Reader"
msgstr ""
-#: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184
+#: cps/helper.py:173 cps/helper.py:177 cps/helper.py:181 cps/helper.py:185
#, python-format
msgid "Send %(format)s to E-Reader"
msgstr ""
-#: cps/helper.py:224 cps/tasks/convert.py:92
+#: cps/helper.py:225 cps/tasks/convert.py:92
#, python-format
msgid "%(book)s send to E-Reader"
msgstr ""
-#: cps/helper.py:229
+#: cps/helper.py:230
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr ""
-#: cps/helper.py:344
+#: cps/helper.py:345
msgid "Read status could not set: {}"
msgstr ""
-#: cps/helper.py:367
+#: cps/helper.py:368
#, python-format
msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:373
+#: cps/helper.py:374
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:384
+#: cps/helper.py:385
#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:449
+#: cps/helper.py:450
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:521 cps/helper.py:530
+#: cps/helper.py:522 cps/helper.py:531
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:564
+#: cps/helper.py:565
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:584
+#: cps/helper.py:585
msgid "Error in rename file in path: {}"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:643 cps/web.py:1411
+#: cps/helper.py:644 cps/web.py:1414
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:651
+#: cps/helper.py:652
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:661
+#: cps/helper.py:664
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:811
+#: cps/helper.py:815
msgid "Python module 'advocate' is not installed but is needed for cover uploads"
msgstr ""
-#: cps/helper.py:821
+#: cps/helper.py:825
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:824
+#: cps/helper.py:828
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:827
+#: cps/helper.py:831
msgid "You are not allowed to access localhost or the local network for cover uploads"
msgstr ""
-#: cps/helper.py:837
+#: cps/helper.py:841
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:853
+#: cps/helper.py:857
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:864
+#: cps/helper.py:868
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:876
+#: cps/helper.py:880
msgid "Invalid cover file content"
msgstr ""
-#: cps/helper.py:880
+#: cps/helper.py:884
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:932
+#: cps/helper.py:936
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:943
+#: cps/helper.py:947
msgid "Error executing UnRar"
msgstr ""
+#: cps/helper.py:1040
+msgid "Cover"
+msgstr ""
+
+#: cps/helper.py:1042 cps/templates/admin.html:211
+msgid "Queue all books for metadata backup"
+msgstr ""
+
#: cps/kobo_auth.py:89
msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device"
msgstr ""
@@ -1355,12 +1371,12 @@ msgstr ""
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1391 cps/web.py:1440
+#: cps/web.py:1394 cps/web.py:1443
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:1407
+#: cps/web.py:1410
msgid "Profile updated"
msgstr ""
@@ -1414,6 +1430,10 @@ msgstr ""
msgid "E-mail"
msgstr ""
+#: cps/tasks/metadata_backup.py:47
+msgid "Backing up Metadata"
+msgstr ""
+
#: cps/tasks/thumbnail.py:95
#, python-format
msgid "Generated %(count)s cover thumbnails"
@@ -1645,40 +1665,40 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:213
+#: cps/templates/admin.html:216
msgid "Version Information"
msgstr ""
-#: cps/templates/admin.html:217
+#: cps/templates/admin.html:220
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:218
+#: cps/templates/admin.html:221
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:224
+#: cps/templates/admin.html:227
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:231
+#: cps/templates/admin.html:234
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:232
+#: cps/templates/admin.html:235
msgid "Perform Update"
msgstr ""
-#: cps/templates/admin.html:245
+#: cps/templates/admin.html:248
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:250 cps/templates/admin.html:264
-#: cps/templates/admin.html:284 cps/templates/config_db.html:70
+#: cps/templates/admin.html:253 cps/templates/admin.html:267
+#: cps/templates/admin.html:287 cps/templates/config_db.html:70
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:251 cps/templates/admin.html:265
+#: cps/templates/admin.html:254 cps/templates/admin.html:268
#: 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_view_edit.html:175 cps/templates/modal_dialogs.html:64
@@ -1689,11 +1709,11 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:263
+#: cps/templates/admin.html:266
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:275
+#: cps/templates/admin.html:278
msgid "Updating, please do not reload this page"
msgstr ""
@@ -1995,7 +2015,7 @@ msgid "Comments"
msgstr ""
#: cps/templates/book_table.html:75
-msgid "Archiv Status"
+msgid "Archive Status"
msgstr ""
#: cps/templates/book_table.html:77 cps/templates/search_form.html:42