From 19c75d6790959debafbe9cf4bba146fe0c6b72e4 Mon Sep 17 00:00:00 2001 From: xlivevil Date: Thu, 29 Jul 2021 14:00:02 +0800 Subject: [PATCH] Update Simplified Chinese translation --- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 43486 -> 45631 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 616 ++++++++++-------- messages.pot | 514 ++++++++------- 3 files changed, 618 insertions(+), 512 deletions(-) diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index aac38c86effc25fa3c7de794b511ef6548b023b8..5c245f812d3e88e361db29de2211e2084debf77f 100644 GIT binary patch delta 13282 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 diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index f1563d09..62571b67 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: 2021-06-29 18:30+0200\n" +"POT-Creation-Date: 2021-07-29 13:45+0800\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: dalin \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" +"Generated-By: Babel 2.9.1\n" #: cps/about.py:43 cps/about.py:59 msgid "installed" @@ -30,282 +30,294 @@ msgstr "未安装" msgid "Statistics" msgstr "统计" -#: cps/admin.py:142 +#: cps/admin.py:141 msgid "Server restarted, please reload page" msgstr "服务器已重启,请刷新页面" -#: cps/admin.py:144 +#: cps/admin.py:143 msgid "Performing shutdown of server, please close window" msgstr "正在关闭服务器,请关闭窗口" -#: cps/admin.py:152 +#: cps/admin.py:151 msgid "Reconnect successful" msgstr "重新连接成功" -#: cps/admin.py:155 +#: cps/admin.py:154 msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701 +#: cps/admin.py:164 cps/editbooks.py:687 cps/editbooks.py:701 #: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869 #: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94 #: cps/uploader.py:104 msgid "Unknown" msgstr "未知" -#: cps/admin.py:186 +#: cps/admin.py:185 msgid "Admin page" msgstr "管理页" -#: cps/admin.py:205 +#: cps/admin.py:204 msgid "Basic Configuration" msgstr "基本配置" -#: cps/admin.py:238 +#: cps/admin.py:237 msgid "UI Configuration" msgstr "界面配置" -#: cps/admin.py:271 cps/templates/admin.html:46 +#: cps/admin.py:270 cps/templates/admin.html:46 #, fuzzy msgid "Edit Users" msgstr "管理员用户" -#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 +#: cps/admin.py:311 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 #: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14 msgid "All" msgstr "全部" -#: cps/admin.py:337 cps/admin.py:1550 +#: cps/admin.py:336 cps/admin.py:1557 msgid "User not found" msgstr "找不到用户" -#: cps/admin.py:351 +#: cps/admin.py:350 msgid "{} users deleted successfully" msgstr "成功删除 {} 个用户" -#: cps/admin.py:373 cps/templates/user_edit.html:44 +#: cps/admin.py:372 cps/templates/user_edit.html:44 #: cps/templates/user_table.html:80 msgid "Show All" msgstr "显示全部" -#: cps/admin.py:394 cps/admin.py:400 +#: cps/admin.py:393 cps/admin.py:399 msgid "Malformed request" -msgstr "" +msgstr "格式错误的请求" -#: cps/admin.py:412 cps/admin.py:1432 +#: cps/admin.py:411 cps/admin.py:1439 msgid "Guest Name can't be changed" msgstr "访客名称无法更改" -#: cps/admin.py:424 +#: cps/admin.py:423 msgid "Guest can't have this role" msgstr "游客无法拥有此角色" -#: cps/admin.py:436 cps/admin.py:1395 +#: cps/admin.py:435 cps/admin.py:1402 msgid "No admin user remaining, can't remove admin role" msgstr "理员账户不存在,无法删除管理员角色" -#: cps/admin.py:440 cps/admin.py:454 +#: cps/admin.py:439 cps/admin.py:453 msgid "Value has to be true or false" -msgstr "" +msgstr "值必须是 true 或 false" -#: cps/admin.py:442 +#: cps/admin.py:441 msgid "Invalid role" -msgstr "" +msgstr "无效角色" -#: cps/admin.py:446 +#: cps/admin.py:445 msgid "Guest can't have this view" msgstr "游客无法拥有此视图" -#: cps/admin.py:456 +#: cps/admin.py:455 msgid "Invalid view" -msgstr "" +msgstr "无效视图" -#: cps/admin.py:459 +#: cps/admin.py:458 msgid "Guest's Locale is determined automatically and can't be set" msgstr "游客的本地化是自动侦测而无法设置的" -#: cps/admin.py:463 +#: cps/admin.py:462 msgid "No Valid Locale Given" -msgstr "" +msgstr "无可用本地化" -#: cps/admin.py:474 +#: cps/admin.py:473 msgid "No Valid Book Language Given" -msgstr "" +msgstr "无有效书籍语言" -#: cps/admin.py:476 +#: cps/admin.py:475 msgid "Parameter not found" -msgstr "" +msgstr "参数未找到" -#: cps/admin.py:531 +#: cps/admin.py:530 msgid "Invalid Read Column" -msgstr "" +msgstr "无效的阅读列" -#: cps/admin.py:537 +#: cps/admin.py:536 msgid "Invalid Restricted Column" -msgstr "" +msgstr "无效的限制列" -#: cps/admin.py:556 cps/admin.py:1288 +#: cps/admin.py:555 cps/admin.py:1287 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" -#: cps/admin.py:568 +#: cps/admin.py:567 msgid "Do you really want to delete the Kobo Token?" msgstr "您确定删除Kobo Token吗?" -#: cps/admin.py:570 +#: cps/admin.py:569 msgid "Do you really want to delete this domain?" msgstr "您确定要删除此域吗?" -#: cps/admin.py:572 +#: cps/admin.py:571 msgid "Do you really want to delete this user?" msgstr "您确定要删除此用户吗?" -#: cps/admin.py:574 cps/templates/shelf.html:90 +#: cps/admin.py:573 cps/templates/shelf.html:90 msgid "Are you sure you want to delete this shelf?" msgstr "您确定要删除此书架吗?" -#: cps/admin.py:576 +#: cps/admin.py:575 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您确定要修改选定用户的本地化设置吗?" -#: cps/admin.py:578 -msgid "Are you sure you want to change visible book languages for selected user(s)?" +#: cps/admin.py:577 +msgid "" +"Are you sure you want to change visible book languages for selected " +"user(s)?" msgstr "您确定要修改选定用户的可见书籍语言吗?" -#: cps/admin.py:580 -msgid "Are you sure you want to change the selected role for the selected user(s)?" +#: cps/admin.py:579 +msgid "" +"Are you sure you want to change the selected role for the selected " +"user(s)?" msgstr "您确定要修改选定用户的选定角色吗?" -#: cps/admin.py:582 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:581 +msgid "" +"Are you sure you want to change the selected restrictions for the " +"selected user(s)?" msgstr "您确定要修改选定用户的选定限制吗?" -#: cps/admin.py:584 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:583 +msgid "" +"Are you sure you want to change the selected visibility restrictions for " +"the selected user(s)?" msgstr "您确定要修改选定用户的选定可视化限制吗?" -#: cps/admin.py:586 +#: cps/admin.py:585 #, fuzzy -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +msgid "" +"Are you sure you want to change shelf sync behavior for the selected " +"user(s)?" msgstr "您确定要修改选定用户的选定角色吗?" -#: cps/admin.py:588 +#: cps/admin.py:587 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "您确定要关闭吗?" -#: cps/admin.py:737 +#: cps/admin.py:736 msgid "Tag not found" -msgstr "" +msgstr "标签未找到" -#: cps/admin.py:749 +#: cps/admin.py:748 msgid "Invalid Action" -msgstr "" +msgstr "无效的动作" -#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880 +#: cps/admin.py:853 cps/admin.py:859 cps/admin.py:869 cps/admin.py:879 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40 #: cps/templates/user_table.html:57 msgid "Deny" msgstr "拒绝" -#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882 +#: cps/admin.py:855 cps/admin.py:861 cps/admin.py:871 cps/admin.py:881 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43 #: cps/templates/user_table.html:60 msgid "Allow" msgstr "允许" -#: cps/admin.py:1011 +#: cps/admin.py:1010 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未为 Web 应用程序配置" -#: cps/admin.py:1056 +#: cps/admin.py:1055 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "日志文件路径无效,请输入正确的路径" -#: cps/admin.py:1062 +#: cps/admin.py:1061 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "访问日志路径无效,请输入正确的路径" -#: cps/admin.py:1092 +#: cps/admin.py:1091 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "请输入LDAP主机、端口、DN和用户对象标识符" -#: cps/admin.py:1098 +#: cps/admin.py:1097 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "请输入有效的用户名进行密码重置" -#: cps/admin.py:1101 +#: cps/admin.py:1100 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1106 +#: cps/admin.py:1105 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP组对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1108 +#: cps/admin.py:1107 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP组对象过滤器的括号不匹配" -#: cps/admin.py:1112 +#: cps/admin.py:1111 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP用户对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1114 +#: cps/admin.py:1113 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP用户对象过滤器的括号不匹配" -#: cps/admin.py:1121 +#: cps/admin.py:1120 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1123 +#: cps/admin.py:1122 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1130 -msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" +#: cps/admin.py:1129 +msgid "" +"LDAP CACertificate, Certificate or Key Location is not Valid, Please " +"Enter Correct Path" msgstr "" -#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459 -#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206 -#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437 +#: cps/admin.py:1171 cps/admin.py:1272 cps/admin.py:1365 cps/admin.py:1466 +#: cps/admin.py:1532 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205 +#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443 msgid "Settings DB is not Writeable" msgstr "设置数据库不可写入" -#: cps/admin.py:1183 +#: cps/admin.py:1182 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "数据库路径无效,请输入正确的路径" -#: cps/admin.py:1188 +#: cps/admin.py:1187 msgid "DB is not Writeable" msgstr "数据库不可写入" -#: cps/admin.py:1201 +#: cps/admin.py:1200 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密钥文件路径无效,请输入正确的路径" -#: cps/admin.py:1205 +#: cps/admin.py:1204 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "证书文件路径无效,请输入正确的路径" -#: cps/admin.py:1317 +#: cps/admin.py:1316 #, fuzzy msgid "Database Configuration" msgstr "功能配置" -#: cps/admin.py:1333 cps/web.py:1459 +#: cps/admin.py:1332 cps/web.py:1469 msgid "Please fill out all fields!" msgstr "请填写所有字段!" -#: cps/admin.py:1341 +#: cps/admin.py:1340 msgid "E-mail is not from valid domain" msgstr "邮箱不在有效域中" -#: cps/admin.py:1345 cps/admin.py:1478 +#: cps/admin.py:1344 cps/admin.py:1485 msgid "Add new user" msgstr "添加新用户" @@ -319,144 +331,144 @@ msgstr "用户“%(user)s”已创建" msgid "Found an existing account for this e-mail address or name." msgstr "此邮箱或用户名的账号已经存在。" -#: cps/admin.py:1374 +#: cps/admin.py:1381 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户“%(nick)s”已删除" -#: cps/admin.py:1376 cps/admin.py:1377 +#: cps/admin.py:1383 cps/admin.py:1384 msgid "Can't delete Guest User" msgstr "无法删除游客用户" -#: cps/admin.py:1380 +#: cps/admin.py:1387 msgid "No admin user remaining, can't delete user" msgstr "管理员账户不存在,无法删除用户" -#: cps/admin.py:1447 cps/admin.py:1568 +#: cps/admin.py:1454 cps/admin.py:1575 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/admin.py:1451 +#: cps/admin.py:1458 #, python-format msgid "User '%(nick)s' updated" msgstr "用户“%(nick)s”已更新" -#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545 +#: cps/admin.py:1462 cps/admin.py:1590 cps/web.py:1494 cps/web.py:1555 msgid "An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试。" -#: cps/admin.py:1487 cps/templates/admin.html:94 +#: cps/admin.py:1494 cps/templates/admin.html:94 msgid "Edit E-mail Server Settings" msgstr "编辑邮件服务器设置" -#: cps/admin.py:1506 +#: cps/admin.py:1513 #, fuzzy msgid "Gmail Account Verification Successful" msgstr "G-Mail账号校验成功" -#: cps/admin.py:1532 +#: cps/admin.py:1539 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" -msgstr "" +msgstr "发送给%(email)s的测试邮件已进入队列。请检查任务结果" -#: cps/admin.py:1535 +#: cps/admin.py:1542 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "发送测试邮件时出错:%(res)s" -#: cps/admin.py:1537 +#: cps/admin.py:1544 msgid "Please configure your e-mail address first..." msgstr "请先配置您的邮箱地址..." -#: cps/admin.py:1539 +#: cps/admin.py:1546 msgid "E-mail server settings updated" msgstr "邮件服务器设置已更新" -#: cps/admin.py:1580 +#: cps/admin.py:1587 #, python-format msgid "Password for user %(user)s reset" msgstr "用户 %(user)s 的密码已重置" -#: cps/admin.py:1586 cps/web.py:1424 +#: cps/admin.py:1593 cps/web.py:1434 msgid "Please configure the SMTP mail settings first..." msgstr "请先配置SMTP邮箱设置..." -#: cps/admin.py:1597 +#: cps/admin.py:1604 msgid "Logfile viewer" msgstr "日志文件查看器" -#: cps/admin.py:1663 +#: cps/admin.py:1670 msgid "Requesting update package" msgstr "正在请求更新包" -#: cps/admin.py:1664 +#: cps/admin.py:1671 msgid "Downloading update package" msgstr "正在下载更新包" -#: cps/admin.py:1665 +#: cps/admin.py:1672 msgid "Unzipping update package" msgstr "正在解压更新包" -#: cps/admin.py:1666 +#: cps/admin.py:1673 msgid "Replacing files" msgstr "正在替换文件" -#: cps/admin.py:1667 +#: cps/admin.py:1674 msgid "Database connections are closed" msgstr "数据库连接已关闭" -#: cps/admin.py:1668 +#: cps/admin.py:1675 msgid "Stopping server" msgstr "正在停止服务器" -#: cps/admin.py:1669 +#: cps/admin.py:1676 msgid "Update finished, please press okay and reload page" msgstr "更新完成,请点击确定并刷新页面" -#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673 -#: cps/admin.py:1674 +#: cps/admin.py:1677 cps/admin.py:1678 cps/admin.py:1679 cps/admin.py:1680 +#: cps/admin.py:1681 msgid "Update failed:" msgstr "更新失败:" -#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 +#: cps/admin.py:1677 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 msgid "HTTP Error" msgstr "HTTP错误" -#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570 +#: cps/admin.py:1678 cps/updater.py:358 cps/updater.py:570 msgid "Connection error" msgstr "连接错误" -#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572 +#: cps/admin.py:1679 cps/updater.py:360 cps/updater.py:572 msgid "Timeout while establishing connection" msgstr "建立连接超时" -#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574 +#: cps/admin.py:1680 cps/updater.py:362 cps/updater.py:574 msgid "General error" msgstr "一般错误" -#: cps/admin.py:1674 +#: cps/admin.py:1681 msgid "Update File Could Not be Saved in Temp Dir" msgstr "更新文件无法保存在临时目录中" -#: cps/admin.py:1735 +#: cps/admin.py:1742 msgid "Failed to Create at Least One LDAP User" msgstr "创建至少一个LDAP用户失败" -#: cps/admin.py:1748 +#: cps/admin.py:1755 #, python-format msgid "Error: %(ldaperror)s" msgstr "错误:%(ldaperror)s" -#: cps/admin.py:1752 +#: cps/admin.py:1759 msgid "Error: No user returned in response of LDAP server" msgstr "错误:在LDAP服务器的响应中没有返回用户" -#: cps/admin.py:1785 +#: cps/admin.py:1792 msgid "At Least One LDAP User Not Found in Database" msgstr "数据库中没有找到至少一个LDAP用户" -#: cps/admin.py:1787 +#: cps/admin.py:1794 msgid "{} User Successfully Imported" msgstr "{} 用户被成功导入" @@ -468,7 +480,7 @@ msgstr "未配置" msgid "Execution permissions missing" msgstr "缺少执行权限" -#: cps/db.py:651 cps/web.py:642 cps/web.py:1138 +#: cps/db.py:651 cps/web.py:647 cps/web.py:1146 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "自定义列号:%(column)d在Calibre数据库中不存在" @@ -481,9 +493,11 @@ msgstr "书籍格式已成功删除" msgid "Book Successfully Deleted" msgstr "书籍已成功删除" -#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671 -#: cps/web.py:1707 cps/web.py:1778 -msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" +#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:512 cps/web.py:1686 +#: cps/web.py:1727 cps/web.py:1798 +msgid "" +"Oops! Selected book title is unavailable. File does not exist or is not " +"accessible" msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问" #: cps/editbooks.py:404 @@ -493,7 +507,7 @@ msgstr "编辑元数据" #: cps/editbooks.py:452 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" -msgstr "" +msgstr "%(seriesindex)s 不是一个有效的数值,忽略" #: cps/editbooks.py:485 #, python-format @@ -519,7 +533,7 @@ msgstr "创建路径 %(path)s 失败(权限拒绝)。" msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败。" -#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632 +#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1647 #, python-format msgid "Database error: %(error)s." msgstr "数据库错误:%(error)s。" @@ -542,7 +556,9 @@ msgid "Error editing book, please check logfile for details" msgstr "编辑书籍出错,请检查日志文件以获取详细信息" #: cps/editbooks.py:873 -msgid "Uploaded book probably exists in the library, consider to change before upload new: " +msgid "" +"Uploaded book probably exists in the library, consider to change before " +"upload new: " msgstr "上传的书籍可能已经存在,建议修改后重新上传: " #: cps/editbooks.py:967 @@ -575,11 +591,15 @@ msgid "There was an error converting this book: %(res)s" msgstr "转换此书籍时出现错误: %(res)s" #: cps/gdrive.py:60 -msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again" +msgid "" +"Google Drive setup not completed, try to deactivate and activate Google " +"Drive again" msgstr "Google Drive 设置未完成,请尝试停用并再次激活Google云端硬盘" #: cps/gdrive.py:97 -msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" +msgid "" +"Callback domain is not verified, please follow steps to verify domain in " +"google developer console" msgstr "回调域名尚未被校验,请在google开发者控制台按步骤校验域名" #: cps/helper.py:80 @@ -652,69 +672,73 @@ msgstr "删除书的文件夹%(id)s失败,路径有子文件夹:%(path)s" msgid "Deleting book %(id)s failed: %(message)s" msgstr "删除书籍 %(id)s失败:%(message)s" -#: cps/helper.py:334 -#, python-format -msgid "Deleting book %(id)s, book path not valid: %(path)s" -msgstr "删除书籍 %(id)s失败,书籍路径无效:%(path)s" +#: cps/helper.py:335 +#, 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:389 +#: cps/helper.py:390 #, 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:404 +#: cps/helper.py:405 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "从“%(src)s”重命名为“%(dest)s”失败,出错信息:%(error)s" -#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447 +#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找不到文件 %(file)s" -#: cps/helper.py:468 +#: cps/helper.py:469 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到书籍路径 %(path)s" -#: cps/helper.py:511 cps/web.py:1627 +#: cps/helper.py:512 cps/web.py:1642 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "此邮箱的账号已经存在。" -#: cps/helper.py:519 +#: cps/helper.py:520 msgid "This username is already taken" msgstr "此用户名已被使用" -#: cps/helper.py:529 +#: cps/helper.py:530 msgid "Invalid e-mail address format" msgstr "无效的邮件地址格式" -#: cps/helper.py:602 +#: cps/helper.py:603 msgid "Error Downloading Cover" msgstr "下载封面时出错" -#: cps/helper.py:605 +#: cps/helper.py:606 msgid "Cover Format Error" msgstr "封面格式出错" -#: cps/helper.py:615 +#: cps/helper.py:616 msgid "Failed to create path for cover" msgstr "创建封面路径失败" -#: cps/helper.py:631 +#: cps/helper.py:632 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的图片文件,或者无法存储" -#: cps/helper.py:642 +#: cps/helper.py:643 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持jpg/jpeg/png/webp/bmp文件" -#: cps/helper.py:655 +#: cps/helper.py:656 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "仅将jpg、jpeg文件作为封面文件" -#: cps/helper.py:707 +#: cps/helper.py:708 msgid "Unrar binary file not found" msgstr "找不到Unrar执行文件" @@ -743,7 +767,9 @@ msgid "Unknown Status" msgstr "未知状态" #: cps/kobo_auth.py:131 -msgid "PLease access calibre-web from non localhost to get valid api_endpoint for kobo device" +msgid "" +"PLease access calibre-web from non localhost to get valid api_endpoint " +"for kobo device" msgstr "请不要使用localhost访问Calibre-Web,以便Kobo设备能获取有效的api_endpoint" #: cps/kobo_auth.py:134 cps/kobo_auth.py:162 @@ -755,7 +781,7 @@ msgstr "Kobo 设置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 注册" -#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517 +#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1527 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)s”身份登录" @@ -821,7 +847,7 @@ msgid "{} Stars" msgstr "{} 星" #: cps/remotelogin.py:65 cps/templates/layout.html:85 -#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564 +#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1574 msgid "Login" msgstr "登录" @@ -837,7 +863,7 @@ msgstr "Token已过期" msgid "Success! Please return to your device" msgstr "成功!请返回您的设备" -#: cps/render_template.py:39 cps/web.py:415 +#: cps/render_template.py:39 cps/web.py:418 msgid "Books" msgstr "书籍" @@ -862,7 +888,7 @@ msgstr "下载历史" msgid "Show Downloaded Books" msgstr "显示下载过的书籍" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:428 msgid "Top Rated Books" msgstr "最高评分书籍" @@ -871,7 +897,7 @@ msgid "Show Top Rated Books" msgstr "显示最高评分书籍" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:651 +#: cps/templates/index.xml:58 cps/web.py:656 msgid "Read Books" msgstr "已读书籍" @@ -880,7 +906,7 @@ msgid "Show read and unread" msgstr "显示阅读状态" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:654 +#: cps/templates/index.xml:65 cps/web.py:659 msgid "Unread Books" msgstr "未读书籍" @@ -898,7 +924,7 @@ msgid "Show Random Books" msgstr "显示随机书籍" #: cps/render_template.py:69 cps/templates/book_table.html:54 -#: cps/templates/index.xml:83 cps/web.py:1025 +#: cps/templates/index.xml:83 cps/web.py:1033 msgid "Categories" msgstr "分类" @@ -908,7 +934,7 @@ msgstr "显示分类选择" #: cps/render_template.py:72 cps/templates/book_edit.html:88 #: cps/templates/book_table.html:55 cps/templates/index.xml:90 -#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932 +#: cps/templates/search_form.html:68 cps/web.py:930 cps/web.py:940 msgid "Series" msgstr "丛书" @@ -926,7 +952,7 @@ msgid "Show author selection" msgstr "显示作者选择" #: cps/render_template.py:79 cps/templates/book_table.html:59 -#: cps/templates/index.xml:76 cps/web.py:899 +#: cps/templates/index.xml:76 cps/web.py:907 msgid "Publishers" msgstr "出版社" @@ -936,7 +962,7 @@ msgstr "显示出版社选择" #: cps/render_template.py:82 cps/templates/book_table.html:57 #: cps/templates/index.xml:97 cps/templates/search_form.html:106 -#: cps/web.py:1002 +#: cps/web.py:1010 msgid "Languages" msgstr "语言" @@ -960,7 +986,7 @@ msgstr "文件格式" msgid "Show file formats selection" msgstr "显示文件格式选择" -#: cps/render_template.py:93 cps/web.py:678 +#: cps/render_template.py:93 cps/web.py:683 msgid "Archived Books" msgstr "归档书籍" @@ -968,7 +994,7 @@ msgstr "归档书籍" msgid "Show archived books" msgstr "显示归档书籍" -#: cps/render_template.py:97 cps/web.py:752 +#: cps/render_template.py:97 cps/web.py:758 msgid "Books List" msgstr "书籍列表" @@ -976,98 +1002,103 @@ msgstr "书籍列表" msgid "Show Books List" msgstr "显示书籍列表" -#: cps/shelf.py:69 cps/shelf.py:124 +#: cps/shelf.py:69 cps/shelf.py:123 msgid "Invalid shelf specified" msgstr "指定的书架无效" #: cps/shelf.py:75 -#, python-format -msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s" +#, fuzzy, python-format +msgid "Sorry you are not allowed to add a book to that shelf" msgstr "对不起,您没有添加书籍到书架 %(shelfname)s 的权限" -#: cps/shelf.py:85 +#: cps/shelf.py:84 #, python-format msgid "Book is already part of the shelf: %(shelfname)s" msgstr "此书籍已经是书架 %(shelfname)s 的一部分" -#: cps/shelf.py:110 +#: cps/shelf.py:109 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "此书籍已被添加到书架:%(sname)s" -#: cps/shelf.py:129 +#: cps/shelf.py:128 #, python-format msgid "You are not allowed to add a book to the the shelf: %(name)s" msgstr "您没有添加书籍到书架 %(name)s 的权限" -#: cps/shelf.py:147 +#: cps/shelf.py:146 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "书籍已经在书架 %(name)s 中了" -#: cps/shelf.py:159 +#: cps/shelf.py:158 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "书籍已经被添加到书架 %(sname)s 中" -#: cps/shelf.py:166 +#: cps/shelf.py:165 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "无法添加书籍到书架:%(sname)s" -#: cps/shelf.py:212 +#: cps/shelf.py:211 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "此书已从书架 %(sname)s 中删除" -#: cps/shelf.py:221 +#: cps/shelf.py:220 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "对不起,您没有从书架 %(sname)s 中删除书籍的权限" -#: cps/shelf.py:231 cps/templates/layout.html:141 +#: cps/shelf.py:230 cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "创建书架" #: cps/shelf.py:238 +#, fuzzy, python-format +msgid "Sorry you are not allowed to edit this shelf" +msgstr "对不起,您没有编辑书架的权限" + +#: cps/shelf.py:240 msgid "Edit a shelf" msgstr "编辑书架" -#: cps/shelf.py:257 +#: cps/shelf.py:259 #, python-format msgid "Shelf %(title)s created" msgstr "书架 %(title)s 已创建" -#: cps/shelf.py:260 +#: cps/shelf.py:262 #, python-format msgid "Shelf %(title)s changed" msgstr "书架 %(title)s 已修改" -#: cps/shelf.py:274 +#: cps/shelf.py:276 msgid "There was an error" msgstr "发生错误" -#: cps/shelf.py:296 +#: cps/shelf.py:298 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共书架:%(title)s已经存在已经存在。" -#: cps/shelf.py:307 +#: cps/shelf.py:309 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "私有书架:%(title)s已经存在已经存在。" -#: cps/shelf.py:376 +#: cps/shelf.py:378 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 %(name)s 顺序" -#: cps/shelf.py:442 +#: cps/shelf.py:448 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架:%(name)s" -#: cps/shelf.py:446 +#: cps/shelf.py:452 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架不存在或不可访问" @@ -1080,7 +1111,9 @@ msgid "No update available. You already have the latest version installed" msgstr "无可用更新。您已经安装了最新版本" #: cps/updater.py:399 -msgid "A new update is available. Click on the button below to update to the latest version." +msgid "" +"A new update is available. Click on the button below to update to the " +"latest version." msgstr "有新的更新。单击下面的按钮以更新到最新版本。" #: cps/updater.py:417 @@ -1093,192 +1126,191 @@ msgstr "点击下面按钮更新到最新稳定版本。" #: cps/updater.py:436 cps/updater.py:450 cps/updater.py:461 #, python-format -msgid "A new update is available. Click on the button below to update to version: %(version)s" +msgid "" +"A new update is available. Click on the button below to update to " +"version: %(version)s" msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s" #: cps/updater.py:478 msgid "No release information available" msgstr "无可用发布信息" -#: cps/templates/index.html:5 cps/web.py:435 +#: cps/templates/index.html:5 cps/web.py:438 msgid "Discover (Random Books)" msgstr "发现(随机书籍)" -#: cps/web.py:461 +#: cps/web.py:464 msgid "Hot Books (Most Downloaded)" msgstr "热门书籍(最多下载)" -#: cps/web.py:494 +#: cps/web.py:497 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下载过的书籍" -#: cps/web.py:523 +#: cps/web.py:528 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:538 +#: cps/web.py:543 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:551 +#: cps/web.py:556 #, python-format msgid "Series: %(serie)s" msgstr "丛书:%(serie)s" -#: cps/web.py:564 +#: cps/web.py:569 #, python-format msgid "Rating: %(rating)s stars" msgstr "评分:%(rating)s 星" -#: cps/web.py:577 +#: cps/web.py:582 #, python-format msgid "File format: %(format)s" msgstr "文件格式:%(format)s" -#: cps/web.py:593 +#: cps/web.py:598 #, python-format msgid "Category: %(name)s" msgstr "分类:%(name)s" -#: cps/web.py:612 +#: cps/web.py:617 #, python-format msgid "Language: %(name)s" msgstr "语言:%(name)s" -#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352 +#: cps/templates/layout.html:56 cps/web.py:717 cps/web.py:1362 msgid "Advanced Search" msgstr "高级搜索" #: cps/templates/book_edit.html:237 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:225 -#: cps/web.py:724 cps/web.py:1060 +#: cps/web.py:730 cps/web.py:1068 msgid "Search" msgstr "搜索" -#: cps/templates/admin.html:16 cps/web.py:877 +#: cps/templates/admin.html:16 cps/web.py:885 msgid "Downloads" msgstr "下载次数" -#: cps/web.py:953 +#: cps/web.py:961 msgid "Ratings list" msgstr "评分列表" -#: cps/web.py:974 +#: cps/web.py:982 msgid "File formats list" msgstr "文件格式列表" -#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039 +#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1047 msgid "Tasks" msgstr "任务列表" -#: cps/web.py:1198 +#: cps/web.py:1206 msgid "Published after " msgstr "出版时间晚于 " -#: cps/web.py:1205 +#: cps/web.py:1213 msgid "Published before " msgstr "出版时间早于 " -#: cps/web.py:1227 +#: cps/web.py:1235 #, python-format msgid "Rating <= %(rating)s" msgstr "评分 <= %(rating)s" -#: cps/web.py:1229 +#: cps/web.py:1237 #, python-format msgid "Rating >= %(rating)s" msgstr "评分 >= %(rating)s" -#: cps/web.py:1231 +#: cps/web.py:1239 #, python-format msgid "Read Status = %(status)s" -msgstr "" +msgstr "阅读状态 = %(status)s" -#: cps/web.py:1334 +#: cps/web.py:1344 msgid "Error on search for custom columns, please restart Calibre-Web" -msgstr "" +msgstr "搜索自定义列时出错,请重启 Calibre-Web" -#: cps/web.py:1429 +#: cps/web.py:1439 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "书籍已经成功加入 %(kindlemail)s 的发送队列" -#: cps/web.py:1433 +#: cps/web.py:1443 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s" -#: cps/web.py:1435 +#: cps/web.py:1445 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "请先配置您的kindle邮箱。" -#: cps/web.py:1452 +#: cps/web.py:1462 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "邮件服务未配置,请联系网站管理员!" -#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453 -#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489 -#: cps/web.py:1495 +#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1463 +#: cps/web.py:1470 cps/web.py:1476 cps/web.py:1495 cps/web.py:1499 +#: cps/web.py:1505 msgid "Register" msgstr "注册" -#: cps/web.py:1487 +#: cps/web.py:1497 msgid "Your e-mail is not allowed to register" msgstr "您的电子邮件不允许注册" -#: cps/web.py:1490 +#: cps/web.py:1500 msgid "Confirmation e-mail was send to your e-mail account." msgstr "确认邮件已经发送到您的邮箱。" -#: cps/web.py:1507 +#: cps/web.py:1517 msgid "Cannot activate LDAP authentication" msgstr "无法激活LDAP认证" -#: cps/web.py:1524 +#: cps/web.py:1534 #, python-format -msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgid "" +"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not" +" known" msgstr "后备登录“%(nickname)s”:无法访问LDAP服务器,或用户未知" -#: cps/web.py:1530 +#: cps/web.py:1540 #, python-format msgid "Could not login: %(message)s" msgstr "无法登录:%(message)s" -#: cps/web.py:1534 cps/web.py:1558 +#: cps/web.py:1544 cps/web.py:1568 msgid "Wrong Username or Password" msgstr "用户名或密码错误" -#: cps/web.py:1541 +#: cps/web.py:1551 msgid "New Password was send to your email address" msgstr "新密码已发送到您的邮箱" -#: cps/web.py:1547 +#: cps/web.py:1557 msgid "Please enter valid username to reset password" msgstr "请输入有效的用户名进行密码重置" -#: cps/web.py:1553 +#: cps/web.py:1563 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)s”登录" -#: cps/web.py:1609 cps/web.py:1656 +#: cps/web.py:1622 cps/web.py:1671 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的用户配置" -#: cps/web.py:1623 +#: cps/web.py:1638 msgid "Profile updated" msgstr "资料已更新" -#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692 -#: cps/web.py:1699 cps/web.py:1704 -msgid "Read a Book" -msgstr "阅读一本书" - #: cps/services/gmail.py:41 msgid "Found no valid gmail.json file with OAuth information" msgstr "" @@ -1412,7 +1444,7 @@ msgstr "发件人邮箱" #: cps/templates/admin.html:84 msgid "E-Mail Service" -msgstr "" +msgstr "电子邮件服务" #: cps/templates/admin.html:85 msgid "Gmail via Oauth2" @@ -1543,7 +1575,7 @@ msgstr "确定" #: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96 -#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137 +#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136 msgid "Cancel" msgstr "取消" @@ -1680,7 +1712,9 @@ msgid "Rating" msgstr "评分" #: cps/templates/book_edit.html:102 -msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" +msgid "" +"Fetch Cover from URL (JPEG - Image will be downloaded and stored in " +"database)" msgstr "从URL获取封面(JPEG - 图片将下载并存储在数据库中)" #: cps/templates/book_edit.html:106 @@ -1727,7 +1761,7 @@ msgstr "获取元数据" #: cps/templates/book_edit.html:214 cps/templates/config_db.html:52 #: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150 #: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24 -#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135 +#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134 msgid "Save" msgstr "保存" @@ -1777,11 +1811,11 @@ msgstr "合并选中的书籍" #: cps/templates/book_table.html:25 cps/templates/user_table.html:122 msgid "Remove Selections" -msgstr "删除选中的书籍" +msgstr "删除所选项" #: cps/templates/book_table.html:28 msgid "Exchange author and title" -msgstr "" +msgstr "交换作者和标题" #: cps/templates/book_table.html:34 msgid "Update Title Sort automatically" @@ -2035,7 +2069,9 @@ msgid "SSL" msgstr "SSL协议" #: cps/templates/config_edit.html:201 -msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" +msgid "" +"LDAP CACertificate Path (Only needed for Client Certificate " +"Authentication)" msgstr "" #: cps/templates/config_edit.html:208 @@ -2193,35 +2229,35 @@ msgstr "按规则提取书名后排序(正则表达式)" msgid "Default Settings for New Users" msgstr "新用户默认权限设置" -#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93 +#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92 msgid "Admin User" msgstr "管理员用户" -#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98 +#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97 msgid "Allow Downloads" msgstr "允许下载书籍" -#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102 +#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101 msgid "Allow eBook Viewer" msgstr "允许在线阅读" -#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106 +#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105 msgid "Allow Uploads" msgstr "允许上传书籍" -#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110 +#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109 msgid "Allow Edit" msgstr "允许编辑书籍" -#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114 +#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113 msgid "Allow Delete Books" msgstr "允许删除书籍" -#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119 +#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118 msgid "Allow Changing Password" msgstr "允许修改密码" -#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123 +#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122 msgid "Allow Editing Public Shelves" msgstr "允许编辑公共书架" @@ -2229,12 +2265,12 @@ msgstr "允许编辑公共书架" msgid "Default Visibilities for New Users" msgstr "新用户默认显示权限" -#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81 +#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80 #: cps/templates/user_table.html:152 msgid "Show Random Books in Detail View" msgstr "在主页显示随机书籍" -#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84 +#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83 msgid "Add Allowed/Denied Tags" msgstr "添加显示或隐藏书籍的标签值" @@ -2314,11 +2350,11 @@ msgstr "使用标准电子邮件账号" #: cps/templates/email_edit.html:15 msgid "Gmail Account with OAuth2 Verification" -msgstr "" +msgstr "使用Gmail账号" #: cps/templates/email_edit.html:21 msgid "Setup Gmail Account as E-Mail Server" -msgstr "" +msgstr "设置Gmail账号作为电子邮件服务" #: cps/templates/email_edit.html:23 msgid "Revoke Gmail Access" @@ -2393,25 +2429,25 @@ msgstr "回到首页" #: cps/templates/http_error.html:50 msgid "Logout User" -msgstr "" +msgstr "登出账号" #: cps/templates/index.html:72 cps/templates/search.html:33 #: cps/templates/shelf.html:20 msgid "Sort authors in alphabetical order" -msgstr "" +msgstr "按作者字母顺序排序" #: cps/templates/index.html:73 cps/templates/search.html:34 #: cps/templates/shelf.html:21 msgid "Sort authors in reverse alphabetical order" -msgstr "" +msgstr "按作者逆字母顺序排序" #: cps/templates/index.html:77 msgid "Sort ascending according to series index" -msgstr "" +msgstr "按丛书编号排序" #: cps/templates/index.html:78 msgid "Sort descending according to series index" -msgstr "" +msgstr "按丛书编号逆排序" #: cps/templates/index.xml:6 msgid "Start" @@ -2569,11 +2605,11 @@ msgstr "显示访问日志: " #: cps/templates/logviewer.html:18 msgid "Download Calibre-Web Log" -msgstr "" +msgstr "下载Calibre-Web日志" #: cps/templates/logviewer.html:21 msgid "Download Access Log" -msgstr "" +msgstr "下载访问日志" #: cps/templates/modal_dialogs.html:6 msgid "Select Allowed/Denied Tags" @@ -2616,7 +2652,9 @@ msgid "Important Kobo Note: deleted books will remain on any paired Kobo device. msgstr "Kobo 重要说明:被删除的书籍将保留在任何配对的 Kobo 设备上。" #: cps/templates/modal_dialogs.html:57 -msgid "Books must first be archived and the device synced before a book can safely be deleted." +msgid "" +"Books must first be archived and the device synced before a book can " +"safely be deleted." msgstr "必须先将书籍存档并同步设备,然后才能安全地删除书籍。" #: cps/templates/modal_dialogs.html:76 @@ -2652,10 +2690,20 @@ msgstr "丛书编号" msgid "Calibre-Web eBook Catalog" msgstr "Caliebre-Web电子书路径" +#: cps/templates/read.html:6 +#, fuzzy +msgid "epub Reader" +msgstr "epub阅读器" + #: cps/templates/read.html:74 msgid "Reflow text when sidebars are open." msgstr "打开侧栏时重排文本。" +#: cps/templates/readcbr.html:7 +#, fuzzy +msgid "Comic Reader" +msgstr "Comic阅读器" + #: cps/templates/readcbr.html:89 msgid "Keyboard Shortcuts" msgstr "快捷键" @@ -2754,31 +2802,38 @@ msgstr "从右到左" #: cps/templates/readcbr.html:165 msgid "Reset to Top" -msgstr "" +msgstr "重置为顶部" #: cps/templates/readcbr.html:166 msgid "Remember Position" -msgstr "" +msgstr "记住位置" #: cps/templates/readcbr.html:171 msgid "Scrollbar" -msgstr "" +msgstr "工具栏" #: cps/templates/readcbr.html:174 msgid "Show" -msgstr "" +msgstr "显示" #: cps/templates/readcbr.html:175 msgid "Hide" -msgstr "" +msgstr "隐藏" + +#: cps/templates/readdjvu.html:10 +#, fuzzy +msgid "DJVU Reader" +msgstr "DJVU阅读器" #: cps/templates/readpdf.html:29 -msgid "PDF reader" +#, fuzzy +msgid "PDF Reader" msgstr "PDF阅读器" #: cps/templates/readtxt.html:6 -msgid "Basic txt Reader" -msgstr "基础文本阅读器" +#, fuzzy +msgid "txt Reader" +msgstr "txt阅读器" #: cps/templates/register.html:4 msgid "Register New Account" @@ -2882,19 +2937,19 @@ msgstr "编辑书架属性" #: cps/templates/shelf.html:13 msgid "Arrange books manually" -msgstr "" +msgstr "手动排列书籍排列顺序" #: cps/templates/shelf.html:14 msgid "Disable Change order" -msgstr "" +msgstr "禁止改变顺序" #: cps/templates/shelf.html:14 msgid "Enable Change order" -msgstr "" +msgstr "允许改变顺序" #: cps/templates/shelf.html:93 msgid "Shelf will be deleted for all users" -msgstr "书架将会重所有用户中删除" +msgstr "书架将会从所有用户中删除" #: cps/templates/shelf_edit.html:13 msgid "Share with Everyone" @@ -2902,7 +2957,7 @@ msgstr "书架将被公开" #: cps/templates/shelf_edit.html:20 msgid "Sync this shelf with Kobo device" -msgstr "" +msgstr "同步这个书架到 Kobo device" #: cps/templates/shelf_order.html:5 msgid "Drag to Rearrange Order" @@ -3004,15 +3059,15 @@ msgstr "Kobo 同步 Token" msgid "Create/View" msgstr "新建或查看" -#: cps/templates/user_edit.html:85 +#: cps/templates/user_edit.html:84 msgid "Add allowed/Denied Custom Column Values" msgstr "添加显示或隐藏书籍的自定义栏目值" -#: cps/templates/user_edit.html:130 +#: cps/templates/user_edit.html:129 msgid "Sync only books in selected shelves with Kobo" -msgstr "" +msgstr "仅同步所选书架中的书籍到 Kobo" -#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167 +#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167 msgid "Delete User" msgstr "删除此用户" @@ -3050,7 +3105,7 @@ msgstr "本地化" #: cps/templates/user_table.html:136 msgid "Visible Book Languages" -msgstr "" +msgstr "可见数据语言" #: cps/templates/user_table.html:137 msgid "Edit Allowed Tags" @@ -3094,7 +3149,7 @@ msgstr "修改密码" #: cps/templates/user_table.html:145 msgid "View" -msgstr "" +msgstr "查看书籍" #: cps/templates/user_table.html:148 #, fuzzy @@ -3103,7 +3158,7 @@ msgstr "编辑公共书架" #: cps/templates/user_table.html:150 msgid "Sync Selected Shelves with Kobo" -msgstr "" +msgstr "同步所选书架到 Kobo" #: cps/templates/user_table.html:154 msgid "Show read/unread selection" @@ -3113,3 +3168,8 @@ msgstr "显示已读/未读选择" msgid "Show random books" msgstr "显示随机书籍" +#~ msgid "Read a Book" +#~ msgstr "阅读一本书" + +#~ msgid "Basic txt Reader" +#~ msgstr "基础文本阅读器" diff --git a/messages.pot b/messages.pot index b33020b1..ad01b68d 100644 --- a/messages.pot +++ b/messages.pot @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-06-29 18:30+0200\n" +"POT-Creation-Date: 2021-07-29 13:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" +"Generated-By: Babel 2.9.1\n" #: cps/about.py:43 cps/about.py:59 msgid "installed" @@ -29,277 +29,289 @@ msgstr "" msgid "Statistics" msgstr "" -#: cps/admin.py:142 +#: cps/admin.py:141 msgid "Server restarted, please reload page" msgstr "" -#: cps/admin.py:144 +#: cps/admin.py:143 msgid "Performing shutdown of server, please close window" msgstr "" -#: cps/admin.py:152 +#: cps/admin.py:151 msgid "Reconnect successful" msgstr "" -#: cps/admin.py:155 +#: cps/admin.py:154 msgid "Unknown command" msgstr "" -#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701 +#: cps/admin.py:164 cps/editbooks.py:687 cps/editbooks.py:701 #: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869 #: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94 #: cps/uploader.py:104 msgid "Unknown" msgstr "" -#: cps/admin.py:186 +#: cps/admin.py:185 msgid "Admin page" msgstr "" -#: cps/admin.py:205 +#: cps/admin.py:204 msgid "Basic Configuration" msgstr "" -#: cps/admin.py:238 +#: cps/admin.py:237 msgid "UI Configuration" msgstr "" -#: cps/admin.py:271 cps/templates/admin.html:46 +#: cps/admin.py:270 cps/templates/admin.html:46 msgid "Edit Users" msgstr "" -#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 +#: cps/admin.py:311 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 #: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14 msgid "All" msgstr "" -#: cps/admin.py:337 cps/admin.py:1550 +#: cps/admin.py:336 cps/admin.py:1557 msgid "User not found" msgstr "" -#: cps/admin.py:351 +#: cps/admin.py:350 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:373 cps/templates/user_edit.html:44 +#: cps/admin.py:372 cps/templates/user_edit.html:44 #: cps/templates/user_table.html:80 msgid "Show All" msgstr "" -#: cps/admin.py:394 cps/admin.py:400 +#: cps/admin.py:393 cps/admin.py:399 msgid "Malformed request" msgstr "" -#: cps/admin.py:412 cps/admin.py:1432 +#: cps/admin.py:411 cps/admin.py:1439 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:424 +#: cps/admin.py:423 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:436 cps/admin.py:1395 +#: cps/admin.py:435 cps/admin.py:1402 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:440 cps/admin.py:454 +#: cps/admin.py:439 cps/admin.py:453 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:442 +#: cps/admin.py:441 msgid "Invalid role" msgstr "" -#: cps/admin.py:446 +#: cps/admin.py:445 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:456 +#: cps/admin.py:455 msgid "Invalid view" msgstr "" -#: cps/admin.py:459 +#: cps/admin.py:458 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:463 +#: cps/admin.py:462 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:474 +#: cps/admin.py:473 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:475 msgid "Parameter not found" msgstr "" -#: cps/admin.py:531 +#: cps/admin.py:530 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:537 +#: cps/admin.py:536 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:556 cps/admin.py:1288 +#: cps/admin.py:555 cps/admin.py:1287 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:568 +#: cps/admin.py:567 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:570 +#: cps/admin.py:569 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:572 +#: cps/admin.py:571 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:574 cps/templates/shelf.html:90 +#: cps/admin.py:573 cps/templates/shelf.html:90 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:576 +#: cps/admin.py:575 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:578 -msgid "Are you sure you want to change visible book languages for selected user(s)?" +#: cps/admin.py:577 +msgid "" +"Are you sure you want to change visible book languages for selected " +"user(s)?" msgstr "" -#: cps/admin.py:580 -msgid "Are you sure you want to change the selected role for the selected user(s)?" +#: cps/admin.py:579 +msgid "" +"Are you sure you want to change the selected role for the selected " +"user(s)?" msgstr "" -#: cps/admin.py:582 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:581 +msgid "" +"Are you sure you want to change the selected restrictions for the " +"selected user(s)?" msgstr "" -#: cps/admin.py:584 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:583 +msgid "" +"Are you sure you want to change the selected visibility restrictions for " +"the selected user(s)?" msgstr "" -#: cps/admin.py:586 -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +#: cps/admin.py:585 +msgid "" +"Are you sure you want to change shelf sync behavior for the selected " +"user(s)?" msgstr "" -#: cps/admin.py:588 +#: cps/admin.py:587 msgid "Are you sure you want to change Calibre library location?" msgstr "" -#: cps/admin.py:737 +#: cps/admin.py:736 msgid "Tag not found" msgstr "" -#: cps/admin.py:749 +#: cps/admin.py:748 msgid "Invalid Action" msgstr "" -#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880 +#: cps/admin.py:853 cps/admin.py:859 cps/admin.py:869 cps/admin.py:879 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40 #: cps/templates/user_table.html:57 msgid "Deny" msgstr "" -#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882 +#: cps/admin.py:855 cps/admin.py:861 cps/admin.py:871 cps/admin.py:881 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43 #: cps/templates/user_table.html:60 msgid "Allow" msgstr "" -#: cps/admin.py:1011 +#: cps/admin.py:1010 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1056 +#: cps/admin.py:1055 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1062 +#: cps/admin.py:1061 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1092 +#: cps/admin.py:1091 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1098 +#: cps/admin.py:1097 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1101 +#: cps/admin.py:1100 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1106 +#: cps/admin.py:1105 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1108 +#: cps/admin.py:1107 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1112 +#: cps/admin.py:1111 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1114 +#: cps/admin.py:1113 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1121 +#: cps/admin.py:1120 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1123 +#: cps/admin.py:1122 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1130 -msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" +#: cps/admin.py:1129 +msgid "" +"LDAP CACertificate, Certificate or Key Location is not Valid, Please " +"Enter Correct Path" msgstr "" -#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459 -#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206 -#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437 +#: cps/admin.py:1171 cps/admin.py:1272 cps/admin.py:1365 cps/admin.py:1466 +#: cps/admin.py:1532 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205 +#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1182 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1188 +#: cps/admin.py:1187 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1200 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1204 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1317 +#: cps/admin.py:1316 msgid "Database Configuration" msgstr "" -#: cps/admin.py:1333 cps/web.py:1459 +#: cps/admin.py:1332 cps/web.py:1469 msgid "Please fill out all fields!" msgstr "" -#: cps/admin.py:1341 +#: cps/admin.py:1340 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1345 cps/admin.py:1478 +#: cps/admin.py:1344 cps/admin.py:1485 msgid "Add new user" msgstr "" @@ -312,143 +324,143 @@ msgstr "" msgid "Found an existing account for this e-mail address or name." msgstr "" -#: cps/admin.py:1374 +#: cps/admin.py:1381 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:1376 cps/admin.py:1377 +#: cps/admin.py:1383 cps/admin.py:1384 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1380 +#: cps/admin.py:1387 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1447 cps/admin.py:1568 +#: cps/admin.py:1454 cps/admin.py:1575 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/admin.py:1451 +#: cps/admin.py:1458 #, python-format msgid "User '%(nick)s' updated" msgstr "" -#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545 +#: cps/admin.py:1462 cps/admin.py:1590 cps/web.py:1494 cps/web.py:1555 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1487 cps/templates/admin.html:94 +#: cps/admin.py:1494 cps/templates/admin.html:94 msgid "Edit E-mail Server Settings" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Gmail Account Verification Successful" msgstr "" -#: cps/admin.py:1532 +#: cps/admin.py:1539 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1535 +#: cps/admin.py:1542 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1537 +#: cps/admin.py:1544 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1539 +#: cps/admin.py:1546 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:1580 +#: cps/admin.py:1587 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1586 cps/web.py:1424 +#: cps/admin.py:1593 cps/web.py:1434 msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/admin.py:1597 +#: cps/admin.py:1604 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1663 +#: cps/admin.py:1670 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1664 +#: cps/admin.py:1671 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1665 +#: cps/admin.py:1672 msgid "Unzipping update package" msgstr "" -#: cps/admin.py:1666 +#: cps/admin.py:1673 msgid "Replacing files" msgstr "" -#: cps/admin.py:1667 +#: cps/admin.py:1674 msgid "Database connections are closed" msgstr "" -#: cps/admin.py:1668 +#: cps/admin.py:1675 msgid "Stopping server" msgstr "" -#: cps/admin.py:1669 +#: cps/admin.py:1676 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673 -#: cps/admin.py:1674 +#: cps/admin.py:1677 cps/admin.py:1678 cps/admin.py:1679 cps/admin.py:1680 +#: cps/admin.py:1681 msgid "Update failed:" msgstr "" -#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 +#: cps/admin.py:1677 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570 +#: cps/admin.py:1678 cps/updater.py:358 cps/updater.py:570 msgid "Connection error" msgstr "" -#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572 +#: cps/admin.py:1679 cps/updater.py:360 cps/updater.py:572 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574 +#: cps/admin.py:1680 cps/updater.py:362 cps/updater.py:574 msgid "General error" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1681 msgid "Update File Could Not be Saved in Temp Dir" msgstr "" -#: cps/admin.py:1735 +#: cps/admin.py:1742 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1748 +#: cps/admin.py:1755 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1752 +#: cps/admin.py:1759 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1785 +#: cps/admin.py:1792 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1787 +#: cps/admin.py:1794 msgid "{} User Successfully Imported" msgstr "" @@ -460,7 +472,7 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:642 cps/web.py:1138 +#: cps/db.py:651 cps/web.py:647 cps/web.py:1146 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" @@ -473,9 +485,11 @@ msgstr "" msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671 -#: cps/web.py:1707 cps/web.py:1778 -msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" +#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:512 cps/web.py:1686 +#: cps/web.py:1727 cps/web.py:1798 +msgid "" +"Oops! Selected book title is unavailable. File does not exist or is not " +"accessible" msgstr "" #: cps/editbooks.py:404 @@ -511,7 +525,7 @@ msgstr "" msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632 +#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1647 #, python-format msgid "Database error: %(error)s." msgstr "" @@ -534,7 +548,9 @@ msgid "Error editing book, please check logfile for details" msgstr "" #: cps/editbooks.py:873 -msgid "Uploaded book probably exists in the library, consider to change before upload new: " +msgid "" +"Uploaded book probably exists in the library, consider to change before " +"upload new: " msgstr "" #: cps/editbooks.py:967 @@ -567,11 +583,15 @@ msgid "There was an error converting this book: %(res)s" msgstr "" #: cps/gdrive.py:60 -msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again" +msgid "" +"Google Drive setup not completed, try to deactivate and activate Google " +"Drive again" msgstr "" #: cps/gdrive.py:97 -msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" +msgid "" +"Callback domain is not verified, please follow steps to verify domain in " +"google developer console" msgstr "" #: cps/helper.py:80 @@ -644,68 +664,70 @@ msgstr "" msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:334 +#: cps/helper.py:335 #, python-format -msgid "Deleting book %(id)s, book path not valid: %(path)s" +msgid "" +"Deleting book %(id)s from database only, book path in database not valid:" +" %(path)s" msgstr "" -#: cps/helper.py:389 +#: cps/helper.py:390 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:404 +#: cps/helper.py:405 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447 +#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:468 +#: cps/helper.py:469 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:511 cps/web.py:1627 +#: cps/helper.py:512 cps/web.py:1642 msgid "Found an existing account for this e-mail address" msgstr "" -#: cps/helper.py:519 +#: cps/helper.py:520 msgid "This username is already taken" msgstr "" -#: cps/helper.py:529 +#: cps/helper.py:530 msgid "Invalid e-mail address format" msgstr "" -#: cps/helper.py:602 +#: cps/helper.py:603 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:605 +#: cps/helper.py:606 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:615 +#: cps/helper.py:616 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:631 +#: cps/helper.py:632 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:642 +#: cps/helper.py:643 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:655 +#: cps/helper.py:656 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:707 +#: cps/helper.py:708 msgid "Unrar binary file not found" msgstr "" @@ -734,7 +756,9 @@ msgid "Unknown Status" msgstr "" #: cps/kobo_auth.py:131 -msgid "PLease access calibre-web from non localhost to get valid api_endpoint for kobo device" +msgid "" +"PLease access calibre-web from non localhost to get valid api_endpoint " +"for kobo device" msgstr "" #: cps/kobo_auth.py:134 cps/kobo_auth.py:162 @@ -746,7 +770,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517 +#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1527 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "" @@ -812,7 +836,7 @@ msgid "{} Stars" msgstr "" #: cps/remotelogin.py:65 cps/templates/layout.html:85 -#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564 +#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1574 msgid "Login" msgstr "" @@ -828,7 +852,7 @@ msgstr "" msgid "Success! Please return to your device" msgstr "" -#: cps/render_template.py:39 cps/web.py:415 +#: cps/render_template.py:39 cps/web.py:418 msgid "Books" msgstr "" @@ -853,7 +877,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:428 msgid "Top Rated Books" msgstr "" @@ -862,7 +886,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:651 +#: cps/templates/index.xml:58 cps/web.py:656 msgid "Read Books" msgstr "" @@ -871,7 +895,7 @@ msgid "Show read and unread" msgstr "" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:654 +#: cps/templates/index.xml:65 cps/web.py:659 msgid "Unread Books" msgstr "" @@ -889,7 +913,7 @@ msgid "Show Random Books" msgstr "" #: cps/render_template.py:69 cps/templates/book_table.html:54 -#: cps/templates/index.xml:83 cps/web.py:1025 +#: cps/templates/index.xml:83 cps/web.py:1033 msgid "Categories" msgstr "" @@ -899,7 +923,7 @@ msgstr "" #: cps/render_template.py:72 cps/templates/book_edit.html:88 #: cps/templates/book_table.html:55 cps/templates/index.xml:90 -#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932 +#: cps/templates/search_form.html:68 cps/web.py:930 cps/web.py:940 msgid "Series" msgstr "" @@ -917,7 +941,7 @@ msgid "Show author selection" msgstr "" #: cps/render_template.py:79 cps/templates/book_table.html:59 -#: cps/templates/index.xml:76 cps/web.py:899 +#: cps/templates/index.xml:76 cps/web.py:907 msgid "Publishers" msgstr "" @@ -927,7 +951,7 @@ msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:57 #: cps/templates/index.xml:97 cps/templates/search_form.html:106 -#: cps/web.py:1002 +#: cps/web.py:1010 msgid "Languages" msgstr "" @@ -951,7 +975,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:678 +#: cps/render_template.py:93 cps/web.py:683 msgid "Archived Books" msgstr "" @@ -959,7 +983,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:752 +#: cps/render_template.py:97 cps/web.py:758 msgid "Books List" msgstr "" @@ -967,98 +991,101 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/shelf.py:69 cps/shelf.py:124 +#: cps/shelf.py:69 cps/shelf.py:123 msgid "Invalid shelf specified" msgstr "" #: cps/shelf.py:75 -#, python-format -msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s" +msgid "Sorry you are not allowed to add a book to that shelf" msgstr "" -#: cps/shelf.py:85 +#: cps/shelf.py:84 #, python-format msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:110 +#: cps/shelf.py:109 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:129 +#: cps/shelf.py:128 #, python-format msgid "You are not allowed to add a book to the the shelf: %(name)s" msgstr "" -#: cps/shelf.py:147 +#: cps/shelf.py:146 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:159 +#: cps/shelf.py:158 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:166 +#: cps/shelf.py:165 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:212 +#: cps/shelf.py:211 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "" -#: cps/shelf.py:221 +#: cps/shelf.py:220 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/shelf.py:231 cps/templates/layout.html:141 +#: cps/shelf.py:230 cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "" #: cps/shelf.py:238 +msgid "Sorry you are not allowed to edit this shelf" +msgstr "" + +#: cps/shelf.py:240 msgid "Edit a shelf" msgstr "" -#: cps/shelf.py:257 +#: cps/shelf.py:259 #, python-format msgid "Shelf %(title)s created" msgstr "" -#: cps/shelf.py:260 +#: cps/shelf.py:262 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/shelf.py:274 +#: cps/shelf.py:276 msgid "There was an error" msgstr "" -#: cps/shelf.py:296 +#: cps/shelf.py:298 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:307 +#: cps/shelf.py:309 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:376 +#: cps/shelf.py:378 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:442 +#: cps/shelf.py:448 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:446 +#: cps/shelf.py:452 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" @@ -1071,7 +1098,9 @@ msgid "No update available. You already have the latest version installed" msgstr "" #: cps/updater.py:399 -msgid "A new update is available. Click on the button below to update to the latest version." +msgid "" +"A new update is available. Click on the button below to update to the " +"latest version." msgstr "" #: cps/updater.py:417 @@ -1084,192 +1113,191 @@ msgstr "" #: cps/updater.py:436 cps/updater.py:450 cps/updater.py:461 #, python-format -msgid "A new update is available. Click on the button below to update to version: %(version)s" +msgid "" +"A new update is available. Click on the button below to update to " +"version: %(version)s" msgstr "" #: cps/updater.py:478 msgid "No release information available" msgstr "" -#: cps/templates/index.html:5 cps/web.py:435 +#: cps/templates/index.html:5 cps/web.py:438 msgid "Discover (Random Books)" msgstr "" -#: cps/web.py:461 +#: cps/web.py:464 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:494 +#: cps/web.py:497 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:523 +#: cps/web.py:528 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:538 +#: cps/web.py:543 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:551 +#: cps/web.py:556 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:564 +#: cps/web.py:569 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:577 +#: cps/web.py:582 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:593 +#: cps/web.py:598 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/web.py:612 +#: cps/web.py:617 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352 +#: cps/templates/layout.html:56 cps/web.py:717 cps/web.py:1362 msgid "Advanced Search" msgstr "" #: cps/templates/book_edit.html:237 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:225 -#: cps/web.py:724 cps/web.py:1060 +#: cps/web.py:730 cps/web.py:1068 msgid "Search" msgstr "" -#: cps/templates/admin.html:16 cps/web.py:877 +#: cps/templates/admin.html:16 cps/web.py:885 msgid "Downloads" msgstr "" -#: cps/web.py:953 +#: cps/web.py:961 msgid "Ratings list" msgstr "" -#: cps/web.py:974 +#: cps/web.py:982 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039 +#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1047 msgid "Tasks" msgstr "" -#: cps/web.py:1198 +#: cps/web.py:1206 msgid "Published after " msgstr "" -#: cps/web.py:1205 +#: cps/web.py:1213 msgid "Published before " msgstr "" -#: cps/web.py:1227 +#: cps/web.py:1235 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1229 +#: cps/web.py:1237 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1231 +#: cps/web.py:1239 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1334 +#: cps/web.py:1344 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1429 +#: cps/web.py:1439 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1433 +#: cps/web.py:1443 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:1435 +#: cps/web.py:1445 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1452 +#: cps/web.py:1462 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453 -#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489 -#: cps/web.py:1495 +#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1463 +#: cps/web.py:1470 cps/web.py:1476 cps/web.py:1495 cps/web.py:1499 +#: cps/web.py:1505 msgid "Register" msgstr "" -#: cps/web.py:1487 +#: cps/web.py:1497 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:1490 +#: cps/web.py:1500 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:1507 +#: cps/web.py:1517 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1524 +#: cps/web.py:1534 #, python-format -msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgid "" +"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not" +" known" msgstr "" -#: cps/web.py:1530 +#: cps/web.py:1540 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1534 cps/web.py:1558 +#: cps/web.py:1544 cps/web.py:1568 msgid "Wrong Username or Password" msgstr "" -#: cps/web.py:1541 +#: cps/web.py:1551 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1547 +#: cps/web.py:1557 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1553 +#: cps/web.py:1563 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1609 cps/web.py:1656 +#: cps/web.py:1622 cps/web.py:1671 #, python-format msgid "%(name)s's profile" msgstr "" -#: cps/web.py:1623 +#: cps/web.py:1638 msgid "Profile updated" msgstr "" -#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692 -#: cps/web.py:1699 cps/web.py:1704 -msgid "Read a Book" -msgstr "" - #: cps/services/gmail.py:41 msgid "Found no valid gmail.json file with OAuth information" msgstr "" @@ -1533,7 +1561,7 @@ msgstr "" #: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96 -#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137 +#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136 msgid "Cancel" msgstr "" @@ -1670,7 +1698,9 @@ msgid "Rating" msgstr "" #: cps/templates/book_edit.html:102 -msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" +msgid "" +"Fetch Cover from URL (JPEG - Image will be downloaded and stored in " +"database)" msgstr "" #: cps/templates/book_edit.html:106 @@ -1717,7 +1747,7 @@ msgstr "" #: cps/templates/book_edit.html:214 cps/templates/config_db.html:52 #: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150 #: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24 -#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135 +#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134 msgid "Save" msgstr "" @@ -2024,7 +2054,9 @@ msgid "SSL" msgstr "" #: cps/templates/config_edit.html:201 -msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" +msgid "" +"LDAP CACertificate Path (Only needed for Client Certificate " +"Authentication)" msgstr "" #: cps/templates/config_edit.html:208 @@ -2182,35 +2214,35 @@ msgstr "" msgid "Default Settings for New Users" msgstr "" -#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93 +#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92 msgid "Admin User" msgstr "" -#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98 +#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97 msgid "Allow Downloads" msgstr "" -#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102 +#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101 msgid "Allow eBook Viewer" msgstr "" -#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106 +#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105 msgid "Allow Uploads" msgstr "" -#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110 +#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109 msgid "Allow Edit" msgstr "" -#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114 +#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113 msgid "Allow Delete Books" msgstr "" -#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119 +#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118 msgid "Allow Changing Password" msgstr "" -#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123 +#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122 msgid "Allow Editing Public Shelves" msgstr "" @@ -2218,12 +2250,12 @@ msgstr "" msgid "Default Visibilities for New Users" msgstr "" -#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81 +#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80 #: cps/templates/user_table.html:152 msgid "Show Random Books in Detail View" msgstr "" -#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84 +#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83 msgid "Add Allowed/Denied Tags" msgstr "" @@ -2604,7 +2636,9 @@ msgid "Important Kobo Note: deleted books will remain on any paired Kobo device. msgstr "" #: cps/templates/modal_dialogs.html:57 -msgid "Books must first be archived and the device synced before a book can safely be deleted." +msgid "" +"Books must first be archived and the device synced before a book can " +"safely be deleted." msgstr "" #: cps/templates/modal_dialogs.html:76 @@ -2639,10 +2673,18 @@ msgstr "" msgid "Calibre-Web eBook Catalog" msgstr "" +#: cps/templates/read.html:6 +msgid "epub Reader" +msgstr "" + #: cps/templates/read.html:74 msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:7 +msgid "Comic Reader" +msgstr "" + #: cps/templates/readcbr.html:89 msgid "Keyboard Shortcuts" msgstr "" @@ -2759,12 +2801,16 @@ msgstr "" msgid "Hide" msgstr "" +#: cps/templates/readdjvu.html:10 +msgid "DJVU Reader" +msgstr "" + #: cps/templates/readpdf.html:29 -msgid "PDF reader" +msgid "PDF Reader" msgstr "" #: cps/templates/readtxt.html:6 -msgid "Basic txt Reader" +msgid "txt Reader" msgstr "" #: cps/templates/register.html:4 @@ -2991,15 +3037,15 @@ msgstr "" msgid "Create/View" msgstr "" -#: cps/templates/user_edit.html:85 +#: cps/templates/user_edit.html:84 msgid "Add allowed/Denied Custom Column Values" msgstr "" -#: cps/templates/user_edit.html:130 +#: cps/templates/user_edit.html:129 msgid "Sync only books in selected shelves with Kobo" msgstr "" -#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167 +#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167 msgid "Delete User" msgstr ""