From 7685818b165b8824852617d0ed415546b6960a11 Mon Sep 17 00:00:00 2001 From: Illia Maier <64944310+Illia-M@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:37:07 +0300 Subject: [PATCH 01/98] Update Ukrainian translation Update Ukrainian translation --- cps/translations/uk/LC_MESSAGES/messages.po | 140 ++++++++++---------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po index d92b31e1..ea0469ed 100644 --- a/cps/translations/uk/LC_MESSAGES/messages.po +++ b/cps/translations/uk/LC_MESSAGES/messages.po @@ -369,7 +369,7 @@ msgstr "Розпакування оновлення" #: cps/admin.py:1484 msgid "Replacing files" -msgstr "" +msgstr "Заміна файлів" #: cps/admin.py:1485 msgid "Database connections are closed" @@ -377,7 +377,7 @@ msgstr "З'єднання з базою даних закрите" #: cps/admin.py:1486 msgid "Stopping server" -msgstr "" +msgstr "Сервер зупиняється" #: cps/admin.py:1487 msgid "Update finished, please press okay and reload page" @@ -386,15 +386,15 @@ msgstr "Оновлення встановлені, натисніть ok і пе #: cps/admin.py:1488 cps/admin.py:1489 cps/admin.py:1490 cps/admin.py:1491 #: cps/admin.py:1492 cps/admin.py:1493 msgid "Update failed:" -msgstr "" +msgstr "Оновлення неуспішне:" #: cps/admin.py:1488 cps/updater.py:389 cps/updater.py:624 cps/updater.py:626 msgid "HTTP Error" -msgstr "" +msgstr "HTTP помилка" #: cps/admin.py:1489 cps/updater.py:391 cps/updater.py:628 msgid "Connection error" -msgstr "" +msgstr "Помилка зʼєднання" #: cps/admin.py:1490 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" @@ -402,7 +402,7 @@ msgstr "" #: cps/admin.py:1491 cps/updater.py:395 cps/updater.py:632 msgid "General error" -msgstr "" +msgstr "Помилка" #: cps/admin.py:1492 msgid "Update file could not be saved in temp dir" @@ -870,7 +870,7 @@ msgstr "" #: cps/opds.py:287 msgid "{} Stars" -msgstr "" +msgstr "{} зірок" #: cps/remotelogin.py:62 cps/templates/layout.html:85 #: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1335 @@ -1179,11 +1179,11 @@ msgstr "Помилка при відкриванні полиці. Полиця #: cps/tasks_status.py:48 cps/templates/layout.html:74 #: cps/templates/tasks.html:7 msgid "Tasks" -msgstr "" +msgstr "Завдання" #: cps/tasks_status.py:64 msgid "Waiting" -msgstr "" +msgstr "Очікує" #: cps/tasks_status.py:66 msgid "Failed" @@ -1191,23 +1191,23 @@ msgstr "" #: cps/tasks_status.py:68 msgid "Started" -msgstr "" +msgstr "Розпочато" #: cps/tasks_status.py:70 msgid "Finished" -msgstr "" +msgstr "Завершено" #: cps/tasks_status.py:72 msgid "Ended" -msgstr "" +msgstr "Закінчено" #: cps/tasks_status.py:74 msgid "Cancelled" -msgstr "" +msgstr "Відмінено" #: cps/tasks_status.py:76 msgid "Unknown Status" -msgstr "" +msgstr "Невідомий статус" #: cps/updater.py:431 cps/updater.py:442 cps/updater.py:543 cps/updater.py:558 msgid "Unexpected data while reading update information" @@ -1259,7 +1259,7 @@ msgstr "" #: cps/web.py:568 #, python-format msgid "Publisher: %(name)s" -msgstr "" +msgstr "Видавництво: %(name)s" #: cps/web.py:596 #, python-format @@ -1268,17 +1268,17 @@ msgstr "Серії: %(serie)s" #: cps/web.py:609 msgid "Rating: None" -msgstr "" +msgstr "Рейтинг: Відсутній" #: cps/web.py:618 #, python-format msgid "Rating: %(rating)s stars" -msgstr "" +msgstr "Рейтинг: %(rating)s зірок" #: cps/web.py:636 #, python-format msgid "File format: %(format)s" -msgstr "" +msgstr "Формат файлу: %(format)s" #: cps/web.py:673 #, python-format @@ -1292,15 +1292,15 @@ msgstr "Мова: %(name)s" #: cps/templates/admin.html:16 cps/web.py:938 msgid "Downloads" -msgstr "DLS" +msgstr "Завантаження" #: cps/web.py:1030 msgid "Ratings list" -msgstr "" +msgstr "Список рейтингів" #: cps/web.py:1057 msgid "File formats list" -msgstr "" +msgstr "Список форматів файлу" #: cps/web.py:1199 #, python-format @@ -1554,7 +1554,7 @@ msgstr "Папка Calibre DB" #: cps/templates/admin.html:113 cps/templates/config_edit.html:68 msgid "Log Level" -msgstr "" +msgstr "Рівень логування" #: cps/templates/admin.html:117 msgid "Port" @@ -1562,7 +1562,7 @@ msgstr "Порт" #: cps/templates/admin.html:122 msgid "External Port" -msgstr "" +msgstr "Зовнішній порт" #: cps/templates/admin.html:129 cps/templates/config_view_edit.html:28 msgid "Books per Page" @@ -1607,7 +1607,7 @@ msgstr "" #: cps/templates/admin.html:167 msgid "Scheduled Tasks" -msgstr "" +msgstr "Заплановані завдання" #: cps/templates/admin.html:170 cps/templates/schedule_edit.html:12 msgid "Time at which tasks start to run" @@ -1615,7 +1615,7 @@ msgstr "" #: cps/templates/admin.html:174 cps/templates/schedule_edit.html:20 msgid "Maximum tasks duration" -msgstr "" +msgstr "Максимальний час завдання" #: cps/templates/admin.html:178 msgid "Generate book cover thumbnails" @@ -1643,7 +1643,7 @@ msgstr "" #: cps/templates/admin.html:201 msgid "View Logs" -msgstr "" +msgstr "Переглянути логи" #: cps/templates/admin.html:204 msgid "Reconnect Calibre Database" @@ -1651,27 +1651,27 @@ msgstr "Повторне підключення до БД Calibre" #: cps/templates/admin.html:207 msgid "Restart" -msgstr "" +msgstr "Перезавантажити" #: cps/templates/admin.html:208 msgid "Shutdown" -msgstr "" +msgstr "Вимкнути" #: cps/templates/admin.html:213 msgid "Version Information" -msgstr "" +msgstr "Інформація про версію" #: cps/templates/admin.html:217 msgid "Version" -msgstr "" +msgstr "Версія" #: cps/templates/admin.html:218 msgid "Details" -msgstr "" +msgstr "Деталі" #: cps/templates/admin.html:224 msgid "Current version" -msgstr "" +msgstr "Поточна версія" #: cps/templates/admin.html:231 msgid "Check for Update" @@ -1683,7 +1683,7 @@ msgstr "Встановити оновлення" #: cps/templates/admin.html:245 msgid "Are you sure you want to restart?" -msgstr "" +msgstr "Впевнені що хочете перезавантажити?" #: cps/templates/admin.html:250 cps/templates/admin.html:264 #: cps/templates/admin.html:284 cps/templates/config_db.html:70 @@ -1699,7 +1699,7 @@ msgstr "Ok" #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" -msgstr "" +msgstr "Скасувати" #: cps/templates/admin.html:263 msgid "Are you sure you want to shutdown?" @@ -1763,7 +1763,7 @@ msgstr "Видалити книгу" #: cps/templates/book_edit.html:14 msgid "Delete formats:" -msgstr "" +msgstr "Видалити формати:" #: cps/templates/book_edit.html:25 msgid "Convert book format:" @@ -1771,7 +1771,7 @@ msgstr "" #: cps/templates/book_edit.html:30 msgid "Convert from:" -msgstr "" +msgstr "Конвертувати з:" #: cps/templates/book_edit.html:32 cps/templates/book_edit.html:39 msgid "select an option" @@ -1779,11 +1779,11 @@ msgstr "" #: cps/templates/book_edit.html:37 msgid "Convert to:" -msgstr "" +msgstr "Конвертувати в:" #: cps/templates/book_edit.html:46 msgid "Convert book" -msgstr "" +msgstr "Конвертувати книгу" #: cps/templates/book_edit.html:56 cps/templates/search_form.html:8 msgid "Book Title" @@ -1801,7 +1801,7 @@ msgstr "Опис" #: cps/templates/book_edit.html:73 msgid "Identifiers" -msgstr "" +msgstr "Ідентифікатори" #: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Type" @@ -1814,11 +1814,11 @@ msgstr "" #: cps/templates/book_edit.html:79 cps/templates/book_edit.html:302 #: cps/templates/user_table.html:24 msgid "Remove" -msgstr "" +msgstr "Видалити" #: cps/templates/book_edit.html:83 msgid "Add Identifier" -msgstr "" +msgstr "Додати ідентифікатор" #: cps/templates/book_edit.html:87 cps/templates/search_form.html:51 msgid "Tags" @@ -1883,7 +1883,7 @@ msgstr "Отримати метадані" #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 msgid "Save" -msgstr "" +msgstr "Зберегти" #: cps/templates/book_edit.html:233 msgid "Keyword" @@ -1993,7 +1993,7 @@ msgstr "" #: cps/templates/book_table.html:71 msgid "Publishing Date" -msgstr "" +msgstr "Дата публікації" #: cps/templates/book_table.html:72 msgid "Enter Publishers" @@ -2001,11 +2001,11 @@ msgstr "" #: cps/templates/book_table.html:73 msgid "Enter comments" -msgstr "" +msgstr "Введіть коментар" #: cps/templates/book_table.html:73 msgid "Comments" -msgstr "" +msgstr "Коментарі" #: cps/templates/book_table.html:75 msgid "Archiv Status" @@ -2038,7 +2038,7 @@ msgstr "" #: cps/templates/book_table.html:126 msgid "Merge" -msgstr "" +msgstr "Обʼєднати" #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" @@ -2086,19 +2086,19 @@ msgstr "Розташування ключових слів SSL (залиште #: cps/templates/config_edit.html:43 msgid "Update Channel" -msgstr "" +msgstr "Канал оновлення" #: cps/templates/config_edit.html:45 msgid "Stable" -msgstr "" +msgstr "Стабільний" #: cps/templates/config_edit.html:46 msgid "Nightly" -msgstr "" +msgstr "Нічний" #: cps/templates/config_edit.html:50 msgid "Trusted Hosts (Comma Separated)" -msgstr "" +msgstr "Довірені хости (розділені комою)" #: cps/templates/config_edit.html:61 msgid "Logfile Configuration" @@ -2186,7 +2186,7 @@ msgstr "" #: cps/templates/config_edit.html:180 msgid "Login type" -msgstr "" +msgstr "Тип логіну" #: cps/templates/config_edit.html:182 msgid "Use Standard Authentication" @@ -2214,11 +2214,11 @@ msgstr "" #: cps/templates/config_edit.html:205 msgid "TLS" -msgstr "" +msgstr "TLS" #: cps/templates/config_edit.html:206 msgid "SSL" -msgstr "" +msgstr "SSL" #: cps/templates/config_edit.html:210 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" @@ -2238,7 +2238,7 @@ msgstr "" #: cps/templates/config_edit.html:235 msgid "Anonymous" -msgstr "" +msgstr "Анонім" #: cps/templates/config_edit.html:236 msgid "Unauthenticated" @@ -2290,7 +2290,7 @@ msgstr "" #: cps/templates/config_edit.html:280 msgid "Autodetect" -msgstr "" +msgstr "Автовизначення" #: cps/templates/config_edit.html:281 msgid "Custom Filter" @@ -2444,7 +2444,7 @@ msgstr "Відкрити в браузері" #: cps/templates/detail.html:78 cps/templates/detail.html:95 msgid "Listen in Browser" -msgstr "" +msgstr "Прослухати в браузері" #: cps/templates/detail.html:125 #, python-format @@ -2453,15 +2453,15 @@ msgstr "" #: cps/templates/detail.html:174 msgid "Published" -msgstr "" +msgstr "Опубліковано" #: cps/templates/detail.html:222 msgid "Mark As Unread" -msgstr "" +msgstr "Відмітити як не прочитане" #: cps/templates/detail.html:222 msgid "Mark As Read" -msgstr "" +msgstr "Відмітити як прочитане" #: cps/templates/detail.html:223 msgid "Read" @@ -2469,15 +2469,15 @@ msgstr "Прочитано" #: cps/templates/detail.html:232 msgid "Restore from archive" -msgstr "" +msgstr "Відновити з архіву" #: cps/templates/detail.html:232 msgid "Add to archive" -msgstr "" +msgstr "Додати в архів" #: cps/templates/detail.html:233 msgid "Archived" -msgstr "" +msgstr "Заархівовано" #: cps/templates/detail.html:244 msgid "Description:" @@ -2491,7 +2491,7 @@ msgstr "Додати на книжкову полицю" #: cps/templates/feed.xml:79 cps/templates/layout.html:138 #: cps/templates/search.html:22 msgid "(Public)" -msgstr "" +msgstr "(Публічно)" #: cps/templates/detail.html:299 msgid "Edit Metadata" @@ -2531,7 +2531,7 @@ msgstr "Пароль SMTP" #: cps/templates/email_edit.html:58 msgid "Attachment Size Limit" -msgstr "" +msgstr "Обмеження розміру вкладення" #: cps/templates/email_edit.html:66 msgid "Save and Send Test E-mail" @@ -2548,20 +2548,20 @@ msgstr "" #: cps/templates/email_edit.html:78 cps/templates/email_edit.html:105 msgid "Add Domain" -msgstr "" +msgstr "Додати домен" #: cps/templates/email_edit.html:81 cps/templates/email_edit.html:108 #: cps/templates/user_table.html:27 msgid "Add" -msgstr "" +msgstr "Додати" #: cps/templates/email_edit.html:86 cps/templates/email_edit.html:96 msgid "Enter domainname" -msgstr "" +msgstr "Введіть домен" #: cps/templates/email_edit.html:92 msgid "Denied Domains (Blacklist)" -msgstr "" +msgstr "Заборонені домени (Чорний список)" #: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" @@ -2577,7 +2577,7 @@ msgstr "" #: cps/templates/grid.html:21 msgid "List" -msgstr "" +msgstr "Список" #: cps/templates/http_error.html:31 msgid "Calibre-Web Instance is unconfigured, please contact your administrator" @@ -2708,7 +2708,7 @@ msgstr "Завантаження..." #: cps/templates/layout.html:64 msgid "Error" -msgstr "" +msgstr "Помилка" #: cps/templates/layout.html:64 msgid "Upload done, processing, please wait..." From 7e7f54cfa7b86bdd6298b6f585242b8b1fd80cee Mon Sep 17 00:00:00 2001 From: Illia Maier <64944310+Illia-M@users.noreply.github.com> Date: Mon, 6 Jun 2022 16:28:03 +0300 Subject: [PATCH 02/98] Update Ukrainian translation Update Ukrainian translation --- cps/translations/uk/LC_MESSAGES/messages.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po index ea0469ed..c631b252 100644 --- a/cps/translations/uk/LC_MESSAGES/messages.po +++ b/cps/translations/uk/LC_MESSAGES/messages.po @@ -198,13 +198,13 @@ msgstr "" #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" -msgstr "" +msgstr "Заборонити" #: cps/admin.py:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" -msgstr "" +msgstr "Дозволити" #: cps/admin.py:907 msgid "{} sync entries deleted" @@ -212,7 +212,7 @@ msgstr "" #: cps/admin.py:955 msgid "Tag not found" -msgstr "" +msgstr "Тег не знайдено" #: cps/admin.py:967 msgid "Invalid Action" @@ -684,7 +684,7 @@ msgstr "" #: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184 #, python-format msgid "Send %(format)s to E-Reader" -msgstr "" +msgstr "Надіслати %(format)s до E-Reader" #: cps/helper.py:224 cps/tasks/convert.py:92 #, fuzzy, python-format From 98b554a3a0b995acd1f4a0f58948588ee915410c Mon Sep 17 00:00:00 2001 From: subdiox Date: Sun, 26 Jun 2022 01:24:44 +0900 Subject: [PATCH 03/98] Fix Japanese translation --- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 19179 -> 67632 bytes cps/translations/ja/LC_MESSAGES/messages.po | 1164 +++++++++---------- 2 files changed, 569 insertions(+), 595 deletions(-) diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index ddbc82308f8a01a3f560da2ed66650d8e6182f04..d00d29d0a43d24bd256ab1fcf624dc88caae7ca3 100644 GIT binary patch literal 67632 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 delta 6961 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\n" +"Last-Translator: subdiox \n" "Language: ja\n" "Language-Team: ja \n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -24,19 +24,19 @@ msgstr "統計" #: cps/admin.py:146 msgid "Server restarted, please reload page" -msgstr "サーバを再起動しました。ページを再読み込みしてください" +msgstr "サーバーを再起動しました。ページを再読み込みしてください" #: cps/admin.py:148 msgid "Performing shutdown of server, please close window" -msgstr "サーバをシャットダウンしています。ページを閉じてください" +msgstr "サーバーをシャットダウンしています。ページを閉じてください" #: cps/admin.py:156 msgid "Reconnect successful" -msgstr "" +msgstr "再接続成功" #: cps/admin.py:159 msgid "Unknown command" -msgstr "" +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 @@ -58,228 +58,228 @@ msgstr "UI設定" #: cps/admin.py:309 cps/templates/admin.html:51 msgid "Edit Users" -msgstr "" +msgstr "ユーザーを編集" #: cps/admin.py:353 cps/opds.py:532 cps/templates/grid.html:14 #: cps/templates/list.html:13 msgid "All" -msgstr "" +msgstr "全て" #: cps/admin.py:380 cps/admin.py:1370 msgid "User not found" -msgstr "" +msgstr "ユーザーが見つかりません" #: cps/admin.py:394 msgid "{} users deleted successfully" -msgstr "" +msgstr "{}人のユーザーが削除されました" #: cps/admin.py:417 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" -msgstr "" +msgstr "全て表示" #: cps/admin.py:438 cps/admin.py:444 msgid "Malformed request" -msgstr "" +msgstr "不正なリクエスト" #: cps/admin.py:456 cps/admin.py:1968 msgid "Guest Name can't be changed" -msgstr "" +msgstr "ゲストユーザーの名前は変更できません" #: cps/admin.py:468 msgid "Guest can't have this role" -msgstr "" +msgstr "ゲストユーザーはこのロールを持つことができません" #: cps/admin.py:480 cps/admin.py:1926 msgid "No admin user remaining, can't remove admin role" -msgstr "" +msgstr "管理者ユーザーが残っておらず、管理者ロールを削除できません" #: cps/admin.py:484 cps/admin.py:498 msgid "Value has to be true or false" -msgstr "" +msgstr "値はtrueかfalseのどちらかでなければなりません" #: cps/admin.py:486 msgid "Invalid role" -msgstr "" +msgstr "無効なロール" #: cps/admin.py:490 msgid "Guest can't have this view" -msgstr "" +msgstr "ゲストユーザーはこの画面を表示できません" #: cps/admin.py:500 msgid "Invalid view" -msgstr "" +msgstr "無効な表示" #: cps/admin.py:503 msgid "Guest's Locale is determined automatically and can't be set" -msgstr "" +msgstr "ゲストユーザーの言語設定は自動的に決定されるため、固定することはできません" #: cps/admin.py:507 msgid "No Valid Locale Given" -msgstr "" +msgstr "有効な言語設定がありません" #: cps/admin.py:518 msgid "No Valid Book Language Given" -msgstr "" +msgstr "有効な本の言語がありません" #: cps/admin.py:520 cps/editbooks.py:439 msgid "Parameter not found" -msgstr "" +msgstr "パラメータが見つかりません" #: cps/admin.py:557 msgid "Invalid Read Column" -msgstr "" +msgstr "無効な読み取り列" #: cps/admin.py:563 msgid "Invalid Restricted Column" -msgstr "" +msgstr "無効な制限列" #: cps/admin.py:583 cps/admin.py:1797 msgid "Calibre-Web configuration updated" -msgstr "Calibre-Web の設定を更新しました" +msgstr "Calibre-Webの設定を更新しました" #: cps/admin.py:595 msgid "Do you really want to delete the Kobo Token?" -msgstr "" +msgstr "Koboのトークンを削除してもよろしいですか?" #: cps/admin.py:597 msgid "Do you really want to delete this domain?" -msgstr "" +msgstr "このドメインを削除してもよろしいですか?" #: cps/admin.py:599 msgid "Do you really want to delete this user?" -msgstr "" +msgstr "このユーザーを削除してもよろしいですか?" #: cps/admin.py:601 msgid "Are you sure you want to delete this shelf?" -msgstr "" +msgstr "この本棚を削除してもよろしいですか?" #: cps/admin.py:603 msgid "Are you sure you want to change locales of selected user(s)?" -msgstr "" +msgstr "選択したユーザーの言語設定を変更してもよろしいですか?" #: cps/admin.py:605 msgid "Are you sure you want to change visible book languages for selected user(s)?" -msgstr "" +msgstr "選択したユーザーが表示できる本の言語を変更してもよろしいですか?" #: cps/admin.py:607 msgid "Are you sure you want to change the selected role for the selected user(s)?" -msgstr "" +msgstr "選択したユーザーの選択したロールを変更してもよろしいですか?" #: cps/admin.py:609 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" -msgstr "" +msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?" #: cps/admin.py:611 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" -msgstr "" +msgstr "選択したユーザーの選択した表示制限を変更してもよろしいですか?" #: cps/admin.py:614 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" -msgstr "" +msgstr "選択したユーザーの本棚同期の動作を変更してもよろしいですか?" #: cps/admin.py:616 msgid "Are you sure you want to change Calibre library location?" -msgstr "" +msgstr "Calibreライブラリのパスを変更してもよろしいですか?" #: cps/admin.py:618 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" -msgstr "" +msgstr "Calibre-Webは新しい表紙を検索してそのサムネイルを更新しますが、これにはしばらく時間がかかるかもしれません" #: cps/admin.py:621 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" -msgstr "" +msgstr "Calibre-Webの同期DBを削除して強制的にKoboリーダーと同期してもよろしいですか?" #: cps/admin.py:864 cps/admin.py:870 cps/admin.py:880 cps/admin.py:890 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" -msgstr "" +msgstr "拒否" #: cps/admin.py:866 cps/admin.py:872 cps/admin.py:882 cps/admin.py:892 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" -msgstr "" +msgstr "許可" #: cps/admin.py:907 msgid "{} sync entries deleted" -msgstr "" +msgstr "{}件の同期項目を削除しました" #: cps/admin.py:955 msgid "Tag not found" -msgstr "" +msgstr "タグが見つかりません" #: cps/admin.py:967 msgid "Invalid Action" -msgstr "" +msgstr "無効なアクションです" #: cps/admin.py:1082 msgid "client_secrets.json Is Not Configured For Web Application" -msgstr "" +msgstr "client_secrets.jsonがWebアプリケーション用に設定されていません" #: cps/admin.py:1127 msgid "Logfile Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "ログファイルの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1133 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "アクセスログファイルの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1163 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" -msgstr "" +msgstr "LDAPのプロバイダ、ポート番号、DN、ユーザーIDを入力してください" #: cps/admin.py:1169 msgid "Please Enter a LDAP Service Account and Password" -msgstr "" +msgstr "LDAPのサービスアカウント名とパスワードを入力してください" #: cps/admin.py:1172 msgid "Please Enter a LDAP Service Account" -msgstr "" +msgstr "LDAPのサービスアカウント名を入力してください" #: cps/admin.py:1177 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" -msgstr "" +msgstr "LDAPのグループフィルタには \"%s\" というフォーマットのIDが一つ必要です" #: cps/admin.py:1179 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" -msgstr "" +msgstr "LDAPのグループフィルタ内の括弧が一致しません" #: cps/admin.py:1183 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" -msgstr "" +msgstr "LDAPのユーザーフィルタには \"%s\" というフォーマットのIDが一つ必要です" #: cps/admin.py:1185 msgid "LDAP User Object Filter Has Unmatched Parenthesis" -msgstr "" +msgstr "LDAPのユーザーフィルタ内の括弧が一致しません" #: cps/admin.py:1192 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" -msgstr "" +msgstr "LDAPのメンバーフィルタには \"%s\" というフォーマットのIDが一つ必要です" #: cps/admin.py:1194 msgid "LDAP Member User Filter Has Unmatched Parenthesis" -msgstr "" +msgstr "LDAPのメンバーフィルタ内の括弧が一致しません" #: cps/admin.py:1201 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "LDAPのCA証明書、証明書、キーの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1232 cps/admin.py:1858 msgid "Add new user" -msgstr "新規ユーザ追加" +msgstr "新規ユーザー追加" #: cps/admin.py:1241 cps/templates/admin.html:100 msgid "Edit E-mail Server Settings" -msgstr "SMTP設定を変更" +msgstr "メールサーバー設定を編集" #: cps/admin.py:1260 msgid "Gmail Account Verification Successful" -msgstr "" +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 @@ -288,41 +288,41 @@ msgstr "" #: cps/shelf.py:457 cps/tasks/convert.py:136 cps/web.py:1413 #, python-format msgid "Database error: %(error)s." -msgstr "" +msgstr "DBエラー: %(error)s" #: cps/admin.py:1289 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" -msgstr "" +msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" #: cps/admin.py:1292 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" -msgstr "テストメールを %(res)s に送信中にエラーが発生しました" +msgstr "%(res)s へのテストメール送信中にエラーが発生しました" #: cps/admin.py:1294 msgid "Please configure your e-mail address first..." -msgstr "" +msgstr "初めにメールアドレスを設定してください" #: cps/admin.py:1296 msgid "E-mail server settings updated" -msgstr "メールサーバの設定を更新しました" +msgstr "メールサーバーの設定を更新しました" #: cps/admin.py:1319 cps/templates/admin.html:191 msgid "Edit Scheduled Tasks Settings" -msgstr "" +msgstr "スケジュールタスク設定を編集" #: cps/admin.py:1331 msgid "Invalid start time for task specified" -msgstr "" +msgstr "指定したタスクの開始時刻が無効です" #: cps/admin.py:1336 msgid "Invalid duration for task specified" -msgstr "" +msgstr "指定したタスクの期間が無効です" #: cps/admin.py:1345 msgid "Scheduled tasks settings updated" -msgstr "" +msgstr "スケジュールタスクの設定を更新しました" #: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1254 #: cps/web.py:1315 @@ -331,17 +331,17 @@ msgstr "不明なエラーが発生しました。あとで再試行してくだ #: cps/admin.py:1359 msgid "Settings DB is not Writeable" -msgstr "" +msgstr "設定DBが書き込みできません" #: cps/admin.py:1389 cps/admin.py:1984 #, python-format msgid "Edit User %(nick)s" -msgstr "%(nick)s を編集" +msgstr "ユーザー %(nick)s を編集" #: cps/admin.py:1401 #, python-format msgid "Password for user %(user)s reset" -msgstr "%(user)s 用のパスワードをリセット" +msgstr "ユーザー %(user)s のパスワードをリセット" #: cps/admin.py:1407 cps/web.py:1194 msgid "Please configure the SMTP mail settings first..." @@ -349,7 +349,7 @@ msgstr "初めにSMTPメールの設定をしてください" #: cps/admin.py:1418 msgid "Logfile viewer" -msgstr "" +msgstr "ログファイルビューア" #: cps/admin.py:1484 msgid "Requesting update package" @@ -369,15 +369,15 @@ msgstr "ファイルを置換中" #: cps/admin.py:1488 msgid "Database connections are closed" -msgstr "データベースの接続を切断完了" +msgstr "DB接続を切断" #: cps/admin.py:1489 msgid "Stopping server" -msgstr "サーバ停止中" +msgstr "サーバー停止中" #: cps/admin.py:1490 msgid "Update finished, please press okay and reload page" -msgstr "アップデート完了、OKを押してページをリロードしてください" +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 @@ -394,7 +394,7 @@ msgstr "接続エラー" #: cps/admin.py:1493 cps/updater.py:393 cps/updater.py:630 msgid "Timeout while establishing connection" -msgstr "接続を確立中にタイムアウトしました" +msgstr "接続確立中にタイムアウトしました" #: cps/admin.py:1494 cps/updater.py:395 cps/updater.py:632 msgid "General error" @@ -402,62 +402,60 @@ msgstr "エラー発生" #: cps/admin.py:1495 msgid "Update file could not be saved in temp dir" -msgstr "" +msgstr "更新データを一時フォルダに保存できませんでした" #: cps/admin.py:1496 msgid "Files could not be replaced during update" -msgstr "" +msgstr "更新中にファイルを置換できませんでした" #: cps/admin.py:1520 msgid "Failed to extract at least One LDAP User" -msgstr "" +msgstr "少なくとも1人のLDAPユーザーの抽出に失敗しました" #: cps/admin.py:1565 msgid "Failed to Create at Least One LDAP User" -msgstr "" +msgstr "少なくとも1人のLDAPユーザーの作成に失敗しました" #: cps/admin.py:1578 #, python-format msgid "Error: %(ldaperror)s" -msgstr "" +msgstr "エラー: %(ldaperror)s" #: cps/admin.py:1582 msgid "Error: No user returned in response of LDAP server" -msgstr "" +msgstr "エラー: LDAPサーバーのレスポンスでユーザーが返されません" #: cps/admin.py:1615 msgid "At Least One LDAP User Not Found in Database" -msgstr "" +msgstr "DB内にLDAPユーザーが1人も見つかりません" #: cps/admin.py:1617 msgid "{} User Successfully Imported" -msgstr "" +msgstr "{}人のユーザーをインポートしました" #: cps/admin.py:1675 msgid "DB Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "DBの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1695 msgid "DB is not Writeable" -msgstr "" +msgstr "DBへの書き込みができません" #: cps/admin.py:1708 msgid "Keyfile Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "キーファイルの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1712 msgid "Certfile Location is not Valid, Please Enter Correct Path" -msgstr "" +msgstr "証明書ファイルの場所が無効です。正しいパスを入力してください" #: cps/admin.py:1820 -#, fuzzy msgid "Database Settings updated" -msgstr "メールサーバの設定を更新しました" +msgstr "DB設定を更新しました" #: cps/admin.py:1828 -#, fuzzy msgid "Database Configuration" -msgstr "機能設定" +msgstr "DB設定" #: cps/admin.py:1844 cps/web.py:1229 msgid "Please fill out all fields!" @@ -470,30 +468,29 @@ msgstr "このメールは有効なドメインからのものではありませ #: cps/admin.py:1869 #, python-format msgid "User '%(user)s' created" -msgstr "ユーザ '%(user)s' を作成しました" +msgstr "ユーザー '%(user)s' を作成しました" #: cps/admin.py:1875 -#, fuzzy msgid "Found an existing account for this e-mail address or name." -msgstr "このメールアドレスかニックネームで登録されたアカウントが見つかりました" +msgstr "このメールアドレスかニックネームで登録されたアカウントがすでに存在します。" #: cps/admin.py:1905 #, python-format msgid "User '%(nick)s' deleted" -msgstr "ユーザ '%(nick)s' を削除しました" +msgstr "ユーザー '%(nick)s' を削除しました" #: cps/admin.py:1907 cps/admin.py:1908 msgid "Can't delete Guest User" -msgstr "" +msgstr "ゲストユーザーは削除できません" #: cps/admin.py:1911 msgid "No admin user remaining, can't delete user" -msgstr "" +msgstr "管理者ユーザーが残っておらず、ユーザーを削除できません" #: cps/admin.py:1988 #, python-format msgid "User '%(nick)s' updated" -msgstr "ユーザ '%(nick)s' を更新しました" +msgstr "ユーザー '%(nick)s' を更新しました" #: cps/converter.py:31 msgid "not installed" @@ -501,12 +498,12 @@ msgstr "インストールされていません" #: cps/converter.py:32 msgid "Execution permissions missing" -msgstr "" +msgstr "実行権限がありません" #: cps/db.py:679 cps/web.py:720 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" -msgstr "" +msgstr "カスタムカラムの%(column)d列目がcalibreのDBに存在しません" #: cps/db.py:922 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:62 cps/templates/email_edit.html:41 @@ -518,15 +515,15 @@ msgstr "なし" #: cps/editbooks.py:110 cps/editbooks.py:891 cps/web.py:516 cps/web.py:1454 #: cps/web.py:1496 cps/web.py:1541 msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" -msgstr "" +msgstr "選択した本は利用できません。ファイルが存在しないか、アクセスできません" #: cps/editbooks.py:154 cps/editbooks.py:1217 msgid "User has no rights to upload cover" -msgstr "" +msgstr "ユーザーは表紙をアップロードする権限がありません" #: cps/editbooks.py:174 cps/editbooks.py:712 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" -msgstr "" +msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" #: cps/editbooks.py:215 msgid "Metadata successfully updated" @@ -534,12 +531,12 @@ msgstr "メタデータを更新しました" #: cps/editbooks.py:233 msgid "Error editing book: {}" -msgstr "" +msgstr "本編集中のエラー: {}" #: cps/editbooks.py:288 #, python-format msgid "File %(file)s uploaded" -msgstr "" +msgstr "ファイル %(file)s をアップロードしました" #: cps/editbooks.py:315 msgid "Source or destination format for conversion missing" @@ -557,17 +554,17 @@ msgstr "この本の変換中にエラーが発生しました: %(res)s" #: cps/editbooks.py:631 msgid "Uploaded book probably exists in the library, consider to change before upload new: " -msgstr "" +msgstr "アップロードした本はすでにライブラリに存在します。新しくアップロードする前に変更を加えてください: " #: cps/editbooks.py:686 cps/editbooks.py:1011 -#, fuzzy, python-format +#, python-format msgid "'%(langname)s' is not a valid language" -msgstr "%(langname)s は有効な言語ではありません" +msgstr "'%(langname)s' は有効な言語ではありません" #: cps/editbooks.py:724 cps/editbooks.py:1158 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" -msgstr "ファイル拡張子 '%(ext)s' をこのサーバにアップロードすることは許可されていません" +msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません" #: cps/editbooks.py:728 cps/editbooks.py:1162 msgid "File to be uploaded must have an extension" @@ -576,24 +573,24 @@ msgstr "アップロードするファイルには拡張子が必要です" #: cps/editbooks.py:736 #, python-format msgid "File %(filename)s could not saved to temp dir" -msgstr "" +msgstr "ファイル %(filename)s は一時フォルダに保存できませんでした" #: cps/editbooks.py:756 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" -msgstr "" +msgstr "表紙ファイル %(file)s の移動に失敗しました: %(error)s" #: cps/editbooks.py:813 cps/editbooks.py:815 msgid "Book Format Successfully Deleted" -msgstr "" +msgstr "本の形式を削除しました" #: cps/editbooks.py:822 cps/editbooks.py:824 msgid "Book Successfully Deleted" -msgstr "" +msgstr "本を削除しました" #: cps/editbooks.py:876 msgid "You are missing permissions to delete books" -msgstr "" +msgstr "本を削除する権限がありません" #: cps/editbooks.py:926 msgid "edit metadata" @@ -602,11 +599,11 @@ msgstr "メタデータを編集" #: cps/editbooks.py:975 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" -msgstr "" +msgstr "%(seriesindex)s は有効な数字ではありません。スキップします" #: cps/editbooks.py:1153 msgid "User has no rights to upload additional file formats" -msgstr "" +msgstr "新たなファイル形式をアップロードする権限がありません" #: cps/editbooks.py:1174 #, python-format @@ -616,7 +613,7 @@ msgstr "%(path)s の作成に失敗しました (Permission denied)。" #: cps/editbooks.py:1179 #, python-format msgid "Failed to store file %(file)s." -msgstr "%(file)s を保存できません。" +msgstr "ファイル %(file)s を保存できません。" #: cps/editbooks.py:1202 #, python-format @@ -625,7 +622,7 @@ msgstr "ファイル形式 %(ext)s が %(book)s に追加されました" #: cps/gdrive.py:58 msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again" -msgstr "Googleドライブの設定が完了していません。Googleドライブを無効化してから再度有効にしてみてください" +msgstr "Googleドライブの設定が完了していません。Googleドライブを無効にしてから再度有効にしてみてください" #: cps/gdrive.py:95 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" @@ -648,9 +645,8 @@ msgstr "%(format)s がありません: %(fn)s" #: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42 #: cps/templates/detail.html:46 -#, fuzzy msgid "Send to E-Reader" -msgstr "Kindleに送信" +msgstr "E-Readerに送信" #: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227 msgid "This e-mail has been sent via Calibre-Web." @@ -671,22 +667,22 @@ msgstr "Calibre-Webを始める" #: cps/helper.py:136 #, python-format msgid "Registration e-mail for user: %(name)s" -msgstr "ユーザ: %(name)s 用の登録メール" +msgstr "ユーザー: %(name)s 用の登録メール" #: cps/helper.py:147 cps/helper.py:153 -#, fuzzy, python-format +#, python-format msgid "Convert %(orig)s to %(format)s and send to E-Reader" -msgstr "%(orig)s を %(format)s に変換してからKindleに送信" +msgstr "%(orig)s を %(format)s に変換してからE-Readerに送信" #: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184 -#, fuzzy, python-format +#, python-format msgid "Send %(format)s to E-Reader" -msgstr "Kindleに %(format)s を送信" +msgstr "E-Readerに %(format)s を送信" #: cps/helper.py:224 cps/tasks/convert.py:92 -#, fuzzy, python-format +#, python-format msgid "%(book)s send to E-Reader" -msgstr "Kindleに送信" +msgstr "%(book)s をE-Readerに送信" #: cps/helper.py:229 msgid "The requested file could not be read. Maybe wrong permissions?" @@ -694,27 +690,27 @@ msgstr "要求されたファイルを読み込めませんでした。権限設 #: cps/helper.py:344 msgid "Read status could not set: {}" -msgstr "" +msgstr "読み込みステータスを設定できません: {}" #: cps/helper.py:367 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" -msgstr "" +msgstr "%(id)s の本フォルダの削除に失敗しました。そこにはサブフォルダがあります: %(path)s" #: cps/helper.py:373 #, python-format msgid "Deleting book %(id)s failed: %(message)s" -msgstr "" +msgstr "本 %(id)s の削除に失敗しました: %(message)s" #: cps/helper.py:384 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" -msgstr "" +msgstr "本 %(id)s はDBのみから削除されます。DB内の本のパスが有効ではありません: %(path)s" #: cps/helper.py:449 -#, fuzzy, python-format +#, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" -msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした。" +msgstr "エラー: %(error)s により、作者名を %(src)s から %(dest)s に変更できませんでした" #: cps/helper.py:521 cps/helper.py:530 #, python-format @@ -724,11 +720,11 @@ msgstr "ファイル %(file)s はGoogleドライブ上にありません" #: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" -msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした。" +msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした" #: cps/helper.py:584 msgid "Error in rename file in path: {}" -msgstr "" +msgstr "ファイル名の変更でエラーが発生しました: {}" #: cps/helper.py:602 #, python-format @@ -736,74 +732,73 @@ msgid "Book path %(path)s not found on Google Drive" msgstr "本のパス %(path)s はGoogleドライブ上にありません" #: cps/helper.py:643 cps/web.py:1408 -#, fuzzy msgid "Found an existing account for this e-mail address" -msgstr "このメールアドレスで登録されたアカウントがあります" +msgstr "このメールアドレスで登録されたアカウントがすでに存在します" #: cps/helper.py:651 msgid "This username is already taken" -msgstr "" +msgstr "このユーザー名はすでに使われています" #: cps/helper.py:661 msgid "Invalid e-mail address format" -msgstr "" +msgstr "メールアドレスの形式が無効" #: cps/helper.py:811 msgid "Python module 'advocate' is not installed but is needed for cover uploads" -msgstr "" +msgstr "表紙のアップロードに必要なPythonモジュール 'advocate' がインストールされていません" #: cps/helper.py:821 msgid "Error Downloading Cover" -msgstr "" +msgstr "表紙のダウンロードに失敗しました" #: cps/helper.py:824 msgid "Cover Format Error" -msgstr "" +msgstr "表紙形式エラー" #: cps/helper.py:827 msgid "You are not allowed to access localhost or the local network for cover uploads" -msgstr "" +msgstr "表紙アップロードのためにlocalhostやローカルネットワークにアクセスすることは許可されていません" #: cps/helper.py:837 msgid "Failed to create path for cover" -msgstr "" +msgstr "表紙ファイルの作成に失敗しました" #: cps/helper.py:853 msgid "Cover-file is not a valid image file, or could not be stored" -msgstr "" +msgstr "表紙ファイルが有効な画像ファイルでないか、または保存できませんでした" #: cps/helper.py:864 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" -msgstr "" +msgstr "表紙ファイルは jpg/jpeg/png/webp/bmp のみ対応しています" #: cps/helper.py:876 msgid "Invalid cover file content" -msgstr "" +msgstr "表紙ファイルの内容が無効です" #: cps/helper.py:880 msgid "Only jpg/jpeg files are supported as coverfile" -msgstr "" +msgstr "表紙ファイルは jpg/jpeg のみ対応しています" #: cps/helper.py:932 msgid "Unrar binary file not found" -msgstr "" +msgstr "Unrarのバイナリファイルが見つかりません" #: cps/helper.py:943 msgid "Error excecuting UnRar" -msgstr "" +msgstr "Unrarの実行中にエラーが発生しました" #: cps/kobo_auth.py:89 msgid "Please access Calibre-Web from non localhost to get valid api_endpoint for kobo device" -msgstr "" +msgstr "localhost以外からCalibre-Webにアクセスし、有効なKobo端末用APIエンドポイントを取得してください" #: cps/kobo_auth.py:115 msgid "Kobo Setup" -msgstr "" +msgstr "Kobo設定" #: cps/oauth_bb.py:77 #, python-format msgid "Register with %(provider)s" -msgstr "" +msgstr "%(provider)s で登録" #: cps/oauth_bb.py:138 cps/remotelogin.py:130 cps/web.py:1286 #, python-format @@ -813,62 +808,62 @@ msgstr "%(nickname)s としてログイン中" #: cps/oauth_bb.py:148 #, python-format msgid "Link to %(oauth)s Succeeded" -msgstr "" +msgstr "%(oauth)s との連携に成功しました" #: cps/oauth_bb.py:155 msgid "Login failed, No User Linked With OAuth Account" -msgstr "" +msgstr "ログイン失敗、OAuthアカウントと連携しているユーザーが存在しません" #: cps/oauth_bb.py:197 #, python-format msgid "Unlink to %(oauth)s Succeeded" -msgstr "" +msgstr "%(oauth)s との連携解除に成功しました" #: cps/oauth_bb.py:202 #, python-format msgid "Unlink to %(oauth)s Failed" -msgstr "" +msgstr "%(oauth)s との連携解除に失敗しました" #: cps/oauth_bb.py:205 #, python-format msgid "Not Linked to %(oauth)s" -msgstr "" +msgstr "%(oauth)s と連携していません" #: cps/oauth_bb.py:261 msgid "Failed to log in with GitHub." -msgstr "" +msgstr "GitHubアカウントでのログインに失敗しました。" #: cps/oauth_bb.py:267 msgid "Failed to fetch user info from GitHub." -msgstr "" +msgstr "GitHubからのユーザー情報取得に失敗しました。" #: cps/oauth_bb.py:279 msgid "Failed to log in with Google." -msgstr "" +msgstr "Googleアカウントでのログインに失敗しました。" #: cps/oauth_bb.py:285 msgid "Failed to fetch user info from Google." -msgstr "" +msgstr "Googleからのユーザー情報取得に失敗しました。" #: cps/oauth_bb.py:332 msgid "GitHub Oauth error, please retry later." -msgstr "" +msgstr "GitHub OAuth エラー、再度お試しください。" #: cps/oauth_bb.py:335 msgid "GitHub Oauth error: {}" -msgstr "" +msgstr "GitHub OAuth エラー: {}" #: cps/oauth_bb.py:356 msgid "Google Oauth error, please retry later." -msgstr "" +msgstr "Google OAuth エラー、再度お試しください。" #: cps/oauth_bb.py:359 msgid "Google Oauth error: {}" -msgstr "" +msgstr "Google OAuth エラー: {}" #: cps/opds.py:287 msgid "{} Stars" -msgstr "" +msgstr "星{}" #: cps/remotelogin.py:62 cps/templates/layout.html:85 #: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1335 @@ -889,7 +884,7 @@ msgstr "成功です!端末に戻ってください" #: cps/render_template.py:40 cps/web.py:405 msgid "Books" -msgstr "" +msgstr "本" #: cps/render_template.py:42 msgid "Show recent books" @@ -901,29 +896,29 @@ msgstr "人気の本" #: cps/render_template.py:45 msgid "Show Hot Books" -msgstr "" +msgstr "人気の本を表示" #: cps/render_template.py:47 cps/render_template.py:52 msgid "Downloaded Books" -msgstr "" +msgstr "ダウンロードされた本" #: cps/render_template.py:49 cps/render_template.py:54 #: cps/templates/user_table.html:167 msgid "Show Downloaded Books" -msgstr "" +msgstr "ダウンロードされた本を表示" #: cps/render_template.py:57 cps/templates/index.xml:32 cps/web.py:420 msgid "Top Rated Books" -msgstr "" +msgstr "高評価の本" #: cps/render_template.py:59 cps/templates/user_table.html:161 msgid "Show Top Rated Books" -msgstr "" +msgstr "高評価の本を表示" #: cps/render_template.py:60 cps/templates/index.xml:54 #: cps/templates/index.xml:58 cps/web.py:739 msgid "Read Books" -msgstr "読んだ本" +msgstr "既読の本" #: cps/render_template.py:62 msgid "Show read and unread" @@ -936,7 +931,7 @@ msgstr "未読の本" #: cps/render_template.py:66 msgid "Show unread" -msgstr "" +msgstr "未読の本を表示" #: cps/render_template.py:67 msgid "Discover" @@ -945,7 +940,7 @@ msgstr "見つける" #: cps/render_template.py:69 cps/templates/index.xml:50 #: cps/templates/user_table.html:162 msgid "Show Random Books" -msgstr "ランダムで本を表示" +msgstr "ランダムに本を表示" #: cps/render_template.py:70 cps/templates/book_table.html:67 #: cps/templates/index.xml:83 cps/web.py:1098 @@ -969,11 +964,11 @@ msgstr "シリーズ選択を表示" #: cps/render_template.py:76 cps/templates/book_table.html:66 #: cps/templates/index.xml:69 msgid "Authors" -msgstr "著者" +msgstr "作者" #: cps/render_template.py:78 cps/templates/user_table.html:160 msgid "Show author selection" -msgstr "著者選択を表示" +msgstr "作者選択を表示" #: cps/render_template.py:80 cps/templates/book_table.html:72 #: cps/templates/index.xml:76 cps/web.py:966 @@ -996,35 +991,35 @@ msgstr "言語選択を表示" #: cps/render_template.py:87 cps/templates/index.xml:104 msgid "Ratings" -msgstr "" +msgstr "評価" #: cps/render_template.py:89 cps/templates/user_table.html:164 msgid "Show ratings selection" -msgstr "" +msgstr "評価選択を表示" #: cps/render_template.py:90 cps/templates/index.xml:112 msgid "File formats" -msgstr "" +msgstr "ファイル形式" #: cps/render_template.py:92 cps/templates/user_table.html:165 msgid "Show file formats selection" -msgstr "" +msgstr "ファイル形式選択を表示" #: cps/render_template.py:94 cps/web.py:765 msgid "Archived Books" -msgstr "" +msgstr "アーカイブされた本" #: cps/render_template.py:96 cps/templates/user_table.html:166 msgid "Show archived books" -msgstr "" +msgstr "アーカイブされた本を表示" #: cps/render_template.py:99 cps/web.py:796 msgid "Books List" -msgstr "" +msgstr "本の一覧" #: cps/render_template.py:101 cps/templates/user_table.html:168 msgid "Show Books List" -msgstr "" +msgstr "本の一覧を表示" #: cps/search.py:48 cps/search.py:389 cps/templates/book_edit.html:236 #: cps/templates/feed.xml:33 cps/templates/index.xml:11 @@ -1054,11 +1049,11 @@ msgstr "評価 >= %(rating)s" #: cps/search.py:218 #, python-format msgid "Read Status = %(status)s" -msgstr "" +msgstr "既読/未読状況 = %(status)s" #: cps/search.py:320 msgid "Error on search for custom columns, please restart Calibre-Web" -msgstr "" +msgstr "カスタムカラムの検索でエラーが発生しました。Calibre-Webを再起動してください" #: cps/search.py:339 cps/search.py:371 cps/templates/layout.html:57 msgid "Advanced Search" @@ -1069,9 +1064,8 @@ msgid "Invalid shelf specified" msgstr "指定された本棚は無効です" #: cps/shelf.py:55 -#, fuzzy msgid "Sorry you are not allowed to add a book to that shelf" -msgstr "申し訳ありませんが、あなたは %(shelfname)s に本を追加することが許可されていません" +msgstr "申し訳ありませんが、あなたはこの本棚に本を追加することが許可されていません" #: cps/shelf.py:64 #, python-format @@ -1085,7 +1079,7 @@ msgstr "本を %(sname)s に追加しました" #: cps/shelf.py:108 msgid "You are not allowed to add a book to the shelf" -msgstr "" +msgstr "あなたはこの本棚に本を追加することが許可されていません" #: cps/shelf.py:126 #, python-format @@ -1109,16 +1103,15 @@ msgstr "本が %(sname)s から削除されました" #: cps/shelf.py:200 msgid "Sorry you are not allowed to remove a book from this shelf" -msgstr "" +msgstr "申し訳ありませんが、あなたはこの本棚から本を削除することが許可されていません" #: cps/shelf.py:210 cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "本棚を作成する" #: cps/shelf.py:218 -#, fuzzy msgid "Sorry you are not allowed to edit this shelf" -msgstr "申し訳ありませんが、%(sname)s から本を削除することが許可されていません" +msgstr "申し訳ありませんが、あなたはこの本棚を編集することが許可されていません" #: cps/shelf.py:220 msgid "Edit a shelf" @@ -1126,12 +1119,11 @@ msgstr "本棚を編集する" #: cps/shelf.py:229 msgid "Error deleting Shelf" -msgstr "" +msgstr "本棚の削除中にエラーが発生しました" #: cps/shelf.py:231 -#, fuzzy msgid "Shelf successfully deleted" -msgstr "メタデータを更新しました" +msgstr "本棚を削除しました" #: cps/shelf.py:281 #, python-format @@ -1140,7 +1132,7 @@ msgstr "'%(name)s' 内の本の順番を変更する" #: cps/shelf.py:313 msgid "Sorry you are not allowed to create a public shelf" -msgstr "" +msgstr "申し訳ありませんが、あなたはみんなの本棚を作成することが許可されていません" #: cps/shelf.py:330 #, python-format @@ -1159,12 +1151,12 @@ msgstr "エラーが発生しました" #: cps/shelf.py:369 #, python-format msgid "A public shelf with the name '%(title)s' already exists." -msgstr "" +msgstr "'%(title)s' という名前のみんなの本棚はすでに存在します。" #: cps/shelf.py:380 #, python-format msgid "A private shelf with the name '%(title)s' already exists." -msgstr "" +msgstr "'%(title)s' という名前の本棚はすでに存在します。" #: cps/shelf.py:462 #, python-format @@ -1198,11 +1190,11 @@ msgstr "終了" #: cps/tasks_status.py:72 msgid "Ended" -msgstr "" +msgstr "終了" #: cps/tasks_status.py:74 msgid "Cancelled" -msgstr "" +msgstr "キャンセル" #: cps/tasks_status.py:76 msgid "Unknown Status" @@ -1210,7 +1202,7 @@ msgstr "不明" #: cps/updater.py:431 cps/updater.py:442 cps/updater.py:543 cps/updater.py:558 msgid "Unexpected data while reading update information" -msgstr "アップデート情報を読み込み中に予期しないデータが見つかりました" +msgstr "アップデート情報の読み込み中に予期しないデータが見つかりました" #: cps/updater.py:438 cps/updater.py:550 msgid "No update available. You already have the latest version installed" @@ -1226,7 +1218,7 @@ msgstr "アップデート情報を取得できません" #: cps/updater.py:484 msgid "Click on the button below to update to the latest stable version." -msgstr "" +msgstr "下のボタンをクリックして最新の安定バージョンにアップデートしてください。" #: cps/updater.py:493 cps/updater.py:507 cps/updater.py:518 #, python-format @@ -1239,21 +1231,21 @@ msgstr "リリース情報がありません" #: cps/templates/index.html:6 cps/web.py:432 msgid "Discover (Random Books)" -msgstr "本を見つける (ランダムで表示)" +msgstr "本を見つける (ランダムに表示)" #: cps/web.py:468 msgid "Hot Books (Most Downloaded)" -msgstr "" +msgstr "人気の本 (最もダウンロードされた本)" #: cps/web.py:499 #, python-format msgid "Downloaded books by %(user)s" -msgstr "" +msgstr "%(user)s がダウンロードした本" #: cps/web.py:532 #, python-format msgid "Author: %(name)s" -msgstr "" +msgstr "作者: %(name)s" #: cps/web.py:568 #, python-format @@ -1267,17 +1259,17 @@ msgstr "シリーズ: %(serie)s" #: cps/web.py:609 msgid "Rating: None" -msgstr "" +msgstr "評価: なし" #: cps/web.py:618 #, python-format msgid "Rating: %(rating)s stars" -msgstr "" +msgstr "評価: 星%(rating)s" #: cps/web.py:636 #, python-format msgid "File format: %(format)s" -msgstr "" +msgstr "ファイル形式: %(format)s" #: cps/web.py:673 #, python-format @@ -1291,15 +1283,15 @@ msgstr "言語: %(name)s" #: cps/templates/admin.html:16 cps/web.py:938 msgid "Downloads" -msgstr "" +msgstr "ダウンロード数" #: cps/web.py:1030 msgid "Ratings list" -msgstr "" +msgstr "評価一覧" #: cps/web.py:1057 msgid "File formats list" -msgstr "" +msgstr "ファイル形式一覧" #: cps/web.py:1199 #, python-format @@ -1317,7 +1309,7 @@ msgstr "初めにKindleのメールアドレスを設定してください" #: cps/web.py:1222 msgid "E-Mail server is not configured, please contact your administrator!" -msgstr "" +msgstr "メールサーバーが設定されていません。管理者に連絡してください" #: cps/templates/layout.html:86 cps/templates/register.html:17 cps/web.py:1223 #: cps/web.py:1230 cps/web.py:1236 cps/web.py:1255 cps/web.py:1260 @@ -1335,34 +1327,34 @@ msgstr "確認メールがこのメールアドレスに送信されました。 #: cps/web.py:1275 msgid "Cannot activate LDAP authentication" -msgstr "" +msgstr "LDAP認証を有効化できません" #: cps/web.py:1294 #, python-format msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" -msgstr "" +msgstr "代わりに '%(nickname)s' としてログインします。LDAPサーバーにアクセスできないか、ユーザーが存在しません" #: cps/web.py:1300 #, python-format msgid "Could not login: %(message)s" -msgstr "" +msgstr "ログインできません: %(message)s" #: cps/web.py:1304 cps/web.py:1329 msgid "Wrong Username or Password" -msgstr "ユーザ名またはパスワードが違います" +msgstr "ユーザー名またはパスワードが違います" #: cps/web.py:1311 msgid "New Password was send to your email address" -msgstr "" +msgstr "新しいパスワードがあなたのメールアドレスに送信されました" #: cps/web.py:1317 msgid "Please enter valid username to reset password" -msgstr "" +msgstr "パスワードをリセットするには、有効なユーザー名を入力してください" #: cps/web.py:1324 #, python-format msgid "You are now logged in as: '%(nickname)s'" -msgstr "" +msgstr "'%(nickname)s' としてログインしました" #: cps/web.py:1388 cps/web.py:1437 #, python-format @@ -1375,31 +1367,31 @@ msgstr "プロフィールを更新しました" #: cps/services/gmail.py:58 msgid "Found no valid gmail.json file with OAuth information" -msgstr "" +msgstr "OAuth情報を含んだ有効なgmail.jsonファイルが見つかりません" #: cps/tasks/convert.py:153 #, python-format msgid "Calibre ebook-convert %(tool)s not found" -msgstr "" +msgstr "Calibre ebook-convert %(tool)s が見つかりません" #: cps/tasks/convert.py:186 #, python-format msgid "%(format)s format not found on disk" -msgstr "" +msgstr "%(format)s 形式は存在しません" #: cps/tasks/convert.py:190 msgid "Ebook converter failed with unknown error" -msgstr "" +msgstr "Ebook converter が不明なエラーで失敗しました" #: cps/tasks/convert.py:202 #, python-format msgid "Kepubify-converter failed: %(error)s" -msgstr "" +msgstr "Kepubify-converter が失敗しました: %(error)s" #: cps/tasks/convert.py:224 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" -msgstr "" +msgstr "変換されたファイルが見つからないか、またはフォルダー %(folder)s 内に複数存在します" #: cps/tasks/convert.py:247 #, python-format @@ -1409,37 +1401,37 @@ msgstr "Ebook-converter が失敗しました: %(error)s" #: cps/tasks/convert.py:270 #, python-format msgid "Calibre failed with error: %(error)s" -msgstr "" +msgstr "Calibre が失敗しました: %(error)s" #: cps/tasks/convert.py:275 msgid "Convert" -msgstr "" +msgstr "変換" #: cps/tasks/database.py:28 msgid "Reconnecting Calibre database" -msgstr "" +msgstr "Calibre DBと再接続中" #: cps/tasks/mail.py:265 msgid "E-mail" -msgstr "" +msgstr "メール" #: cps/tasks/thumbnail.py:95 #, python-format msgid "Generated %(count)s cover thumbnails" -msgstr "" +msgstr "表紙サムネイルを%(count)s個生成しました" #: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 #: cps/tasks/thumbnail.py:503 msgid "Cover Thumbnails" -msgstr "" +msgstr "表紙サムネイル" #: cps/tasks/thumbnail.py:281 msgid "Generated {0} series thumbnails" -msgstr "" +msgstr "シリーズのサムネイルを{0}個生成しました" #: cps/tasks/thumbnail.py:446 msgid "Clearing cover thumbnail cache" -msgstr "" +msgstr "表紙サムネイルのキャッシュを消去中" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 #: cps/templates/layout.html:67 cps/templates/user_table.html:145 @@ -1448,23 +1440,22 @@ msgstr "アップロード" #: cps/templates/admin.html:9 msgid "Users" -msgstr "" +msgstr "ユーザー" #: cps/templates/admin.html:13 cps/templates/login.html:9 #: cps/templates/login.html:10 cps/templates/register.html:9 #: cps/templates/user_edit.html:10 cps/templates/user_table.html:134 msgid "Username" -msgstr "ユーザ名" +msgstr "ユーザー名" #: cps/templates/admin.html:14 cps/templates/register.html:14 #: cps/templates/user_edit.html:15 cps/templates/user_table.html:135 msgid "E-mail Address" -msgstr "" +msgstr "メールアドレス" #: cps/templates/admin.html:15 cps/templates/user_edit.html:28 -#, fuzzy msgid "Send to E-Reader E-mail Address" -msgstr "あなたのメールアドレス" +msgstr "E-Readerメールアドレス" #: cps/templates/admin.html:17 cps/templates/layout.html:77 #: cps/templates/user_table.html:143 @@ -1484,7 +1475,7 @@ msgstr "ダウンロード" #: cps/templates/admin.html:23 msgid "View Books" -msgstr "" +msgstr "閲覧" #: cps/templates/admin.html:24 cps/templates/user_table.html:131 #: cps/templates/user_table.html:148 @@ -1500,27 +1491,27 @@ msgstr "削除" #: cps/templates/admin.html:26 msgid "Public Shelf" -msgstr "" +msgstr "みんなの本棚" #: cps/templates/admin.html:53 msgid "Add New User" -msgstr "" +msgstr "新規ユーザーを追加" #: cps/templates/admin.html:55 msgid "Import LDAP Users" -msgstr "" +msgstr "LDAPユーザーをインポート" #: cps/templates/admin.html:62 msgid "E-mail Server Settings" -msgstr "" +msgstr "メールサーバー設定" #: cps/templates/admin.html:67 cps/templates/email_edit.html:31 msgid "SMTP Hostname" -msgstr "" +msgstr "SMTPホスト名" #: cps/templates/admin.html:71 cps/templates/email_edit.html:35 msgid "SMTP Port" -msgstr "" +msgstr "SMTPポート番号" #: cps/templates/admin.html:75 cps/templates/email_edit.html:39 msgid "Encryption" @@ -1528,20 +1519,20 @@ msgstr "暗号化" #: cps/templates/admin.html:79 cps/templates/email_edit.html:47 msgid "SMTP Login" -msgstr "" +msgstr "SMTPログイン" #: cps/templates/admin.html:83 cps/templates/admin.html:94 #: cps/templates/email_edit.html:55 msgid "From E-mail" -msgstr "" +msgstr "Fromメールアドレス" #: cps/templates/admin.html:90 msgid "E-Mail Service" -msgstr "" +msgstr "メールサービス" #: cps/templates/admin.html:91 msgid "Gmail via Oauth2" -msgstr "" +msgstr "OAuth2経由のGmail" #: cps/templates/admin.html:106 msgid "Configuration" @@ -1549,7 +1540,7 @@ msgstr "設定" #: cps/templates/admin.html:109 msgid "Calibre Database Directory" -msgstr "" +msgstr "Calibre DBのディレクトリ" #: cps/templates/admin.html:113 cps/templates/config_edit.html:68 msgid "Log Level" @@ -1561,76 +1552,75 @@ msgstr "ポート番号" #: cps/templates/admin.html:122 msgid "External Port" -msgstr "" +msgstr "外部ポート" #: cps/templates/admin.html:129 cps/templates/config_view_edit.html:28 msgid "Books per Page" -msgstr "" +msgstr "1ページに表示する冊数" #: cps/templates/admin.html:133 msgid "Uploads" -msgstr "" +msgstr "アップロード" #: cps/templates/admin.html:137 msgid "Anonymous Browsing" -msgstr "" +msgstr "匿名での閲覧" #: cps/templates/admin.html:141 msgid "Public Registration" -msgstr "" +msgstr "誰でも登録可能" #: cps/templates/admin.html:145 msgid "Magic Link Remote Login" -msgstr "" +msgstr "マジックリンクによるリモートログイン" #: cps/templates/admin.html:149 msgid "Reverse Proxy Login" -msgstr "" +msgstr "リバースプロキシによるログイン" #: cps/templates/admin.html:154 cps/templates/config_edit.html:173 msgid "Reverse Proxy Header Name" -msgstr "" +msgstr "リバースプロキシのヘッダー名" #: cps/templates/admin.html:159 -#, fuzzy msgid "Edit Calibre Database Configuration" -msgstr "Calibre-Web の設定を更新しました" +msgstr "Calibre DBの設定を編集" #: cps/templates/admin.html:160 msgid "Edit Basic Configuration" -msgstr "" +msgstr "基本設定を編集" #: cps/templates/admin.html:161 msgid "Edit UI Configuration" -msgstr "" +msgstr "UI設定を編集" #: cps/templates/admin.html:167 msgid "Scheduled Tasks" -msgstr "" +msgstr "スケジュールタスク" #: cps/templates/admin.html:170 cps/templates/schedule_edit.html:12 msgid "Time at which tasks start to run" -msgstr "" +msgstr "タスクを開始する時間" #: cps/templates/admin.html:174 cps/templates/schedule_edit.html:20 msgid "Maximum tasks duration" -msgstr "" +msgstr "最大タスク継続時間" #: cps/templates/admin.html:178 msgid "Generate book cover thumbnails" -msgstr "" +msgstr "本の表紙サムネイルを生成" #: cps/templates/admin.html:182 msgid "Generate series cover thumbnails" -msgstr "" +msgstr "シリーズの表紙サムネイルを生成" #: cps/templates/admin.html:186 cps/templates/schedule_edit.html:37 msgid "Reconnect to Calibre Library" -msgstr "" +msgstr "Calibreライブラリに再接続" #: cps/templates/admin.html:193 msgid "Refresh Thumbnail Cover Cache" -msgstr "" +msgstr "表紙サムネイルのキャッシュを更新" #: cps/templates/admin.html:199 msgid "Administration" @@ -1638,27 +1628,27 @@ msgstr "管理" #: cps/templates/admin.html:200 msgid "Download Debug Package" -msgstr "" +msgstr "デバッグパッケージをダウンロード" #: cps/templates/admin.html:201 msgid "View Logs" -msgstr "" +msgstr "ログを表示" #: cps/templates/admin.html:204 msgid "Reconnect Calibre Database" -msgstr "" +msgstr "Calibre DBに再接続" #: cps/templates/admin.html:207 msgid "Restart" -msgstr "" +msgstr "再起動" #: cps/templates/admin.html:208 msgid "Shutdown" -msgstr "" +msgstr "シャットダウン" #: cps/templates/admin.html:213 msgid "Version Information" -msgstr "" +msgstr "バージョン情報" #: cps/templates/admin.html:217 msgid "Version" @@ -1674,20 +1664,20 @@ msgstr "現在のバージョン" #: cps/templates/admin.html:231 msgid "Check for Update" -msgstr "" +msgstr "アップデートを確認" #: cps/templates/admin.html:232 msgid "Perform Update" -msgstr "更新を実行" +msgstr "アップデートを実行" #: cps/templates/admin.html:245 msgid "Are you sure you want to restart?" -msgstr "" +msgstr "再起動してもよろしいですか?" #: cps/templates/admin.html:250 cps/templates/admin.html:264 #: cps/templates/admin.html:284 cps/templates/config_db.html:70 msgid "OK" -msgstr "" +msgstr "OK" #: cps/templates/admin.html:251 cps/templates/admin.html:265 #: cps/templates/book_edit.html:214 cps/templates/book_table.html:127 @@ -1698,15 +1688,15 @@ msgstr "" #: cps/templates/shelf_edit.html:27 cps/templates/tasks.html:46 #: cps/templates/user_edit.html:144 msgid "Cancel" -msgstr "" +msgstr "キャンセル" #: cps/templates/admin.html:263 msgid "Are you sure you want to shutdown?" -msgstr "" +msgstr "シャットダウンしてもよろしいですか?" #: cps/templates/admin.html:275 msgid "Updating, please do not reload this page" -msgstr "" +msgstr "アップデート中です。このページをリロードしないでください" #: cps/templates/author.html:15 msgid "via" @@ -1719,32 +1709,32 @@ msgstr "ライブラリ内" #: cps/templates/author.html:26 cps/templates/index.html:74 #: cps/templates/search.html:31 cps/templates/shelf.html:20 msgid "Sort according to book date, newest first" -msgstr "" +msgstr "追加日が新しい順にソート" #: cps/templates/author.html:27 cps/templates/index.html:75 #: cps/templates/search.html:32 cps/templates/shelf.html:21 msgid "Sort according to book date, oldest first" -msgstr "" +msgstr "追加日が古い順にソート" #: cps/templates/author.html:28 cps/templates/index.html:76 #: cps/templates/search.html:33 cps/templates/shelf.html:22 msgid "Sort title in alphabetical order" -msgstr "" +msgstr "五十音順にソート" #: cps/templates/author.html:29 cps/templates/index.html:77 #: cps/templates/search.html:34 cps/templates/shelf.html:23 msgid "Sort title in reverse alphabetical order" -msgstr "" +msgstr "逆五十音順にソート" #: cps/templates/author.html:30 cps/templates/index.html:80 #: cps/templates/search.html:37 cps/templates/shelf.html:26 msgid "Sort according to publishing date, newest first" -msgstr "" +msgstr "発売日が新しい順にソート" #: cps/templates/author.html:31 cps/templates/index.html:81 #: cps/templates/search.html:38 cps/templates/shelf.html:27 msgid "Sort according to publishing date, oldest first" -msgstr "" +msgstr "発売日が古い順にソート" #: cps/templates/author.html:56 cps/templates/author.html:115 #: cps/templates/index.html:30 cps/templates/index.html:113 @@ -1754,7 +1744,7 @@ msgstr "減らす" #: cps/templates/author.html:99 msgid "More by" -msgstr "" +msgstr "同じ作者が書いた本: " #: cps/templates/book_edit.html:11 msgid "Delete Book" @@ -1774,7 +1764,7 @@ msgstr "変換元:" #: cps/templates/book_edit.html:32 cps/templates/book_edit.html:39 msgid "select an option" -msgstr "選択肢を選ぶ" +msgstr "選択肢から選ぶ" #: cps/templates/book_edit.html:37 msgid "Convert to:" @@ -1791,7 +1781,7 @@ msgstr "本のタイトル" #: cps/templates/book_edit.html:63 cps/templates/book_edit.html:271 #: cps/templates/book_edit.html:289 cps/templates/search_form.html:12 msgid "Author" -msgstr "著者" +msgstr "作者" #: cps/templates/book_edit.html:68 cps/templates/book_edit.html:276 #: cps/templates/book_edit.html:291 cps/templates/search_form.html:153 @@ -1800,24 +1790,24 @@ msgstr "詳細" #: cps/templates/book_edit.html:73 msgid "Identifiers" -msgstr "" +msgstr "識別子" #: cps/templates/book_edit.html:77 cps/templates/book_edit.html:300 msgid "Identifier Type" -msgstr "" +msgstr "識別子タイプ" #: cps/templates/book_edit.html:78 cps/templates/book_edit.html:301 msgid "Identifier Value" -msgstr "" +msgstr "識別子の値" #: cps/templates/book_edit.html:79 cps/templates/book_edit.html:302 #: cps/templates/user_table.html:24 msgid "Remove" -msgstr "" +msgstr "削除" #: cps/templates/book_edit.html:83 msgid "Add Identifier" -msgstr "" +msgstr "識別子を追加" #: cps/templates/book_edit.html:87 cps/templates/search_form.html:51 msgid "Tags" @@ -1825,7 +1815,7 @@ msgstr "タグ" #: cps/templates/book_edit.html:95 msgid "Series ID" -msgstr "" +msgstr "シリーズID" #: cps/templates/book_edit.html:99 msgid "Rating" @@ -1833,15 +1823,15 @@ msgstr "評価" #: cps/templates/book_edit.html:104 msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" -msgstr "" +msgstr "表紙をURLから取得 (JPEG画像がダウンロードされDBに保存されます)" #: cps/templates/book_edit.html:108 msgid "Upload Cover from Local Disk" -msgstr "" +msgstr "表紙をアップロード" #: cps/templates/book_edit.html:113 msgid "Published Date" -msgstr "" +msgstr "発売日" #: cps/templates/book_edit.html:122 cps/templates/book_edit.html:273 #: cps/templates/book_edit.html:290 cps/templates/detail.html:165 @@ -1857,24 +1847,24 @@ msgstr "言語" #: cps/templates/book_edit.html:136 cps/templates/search_form.html:45 #: cps/templates/search_form.html:164 msgid "Yes" -msgstr "はい" +msgstr "既読" #: cps/templates/book_edit.html:137 cps/templates/search_form.html:46 #: cps/templates/search_form.html:165 msgid "No" -msgstr "いいえ" +msgstr "未読" #: cps/templates/book_edit.html:201 msgid "Upload Format" -msgstr "" +msgstr "アップロード形式" #: cps/templates/book_edit.html:209 msgid "View Book on Save" -msgstr "" +msgstr "保存後に本を表示" #: cps/templates/book_edit.html:212 cps/templates/book_edit.html:230 msgid "Fetch Metadata" -msgstr "" +msgstr "メタデータを取得" #: cps/templates/book_edit.html:213 cps/templates/config_db.html:53 #: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:174 @@ -1882,16 +1872,15 @@ msgstr "" #: cps/templates/shelf_edit.html:25 cps/templates/shelf_order.html:41 #: cps/templates/user_edit.html:142 msgid "Save" -msgstr "" +msgstr "保存" #: cps/templates/book_edit.html:233 msgid "Keyword" msgstr "キーワード" #: cps/templates/book_edit.html:234 -#, fuzzy msgid "Search keyword" -msgstr "キーワードを検索" +msgstr "キーワード検索" #: cps/templates/book_edit.html:240 msgid "Click the cover to load metadata to the form" @@ -1923,31 +1912,31 @@ msgstr "検索結果が見つかりません。別のキーワードで検索し #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" -msgstr "" +msgstr "この項目は必須です" #: cps/templates/book_table.html:37 msgid "Merge selected books" -msgstr "" +msgstr "選択した本を統合" #: cps/templates/book_table.html:38 cps/templates/user_table.html:124 msgid "Remove Selections" -msgstr "" +msgstr "選択した本を削除" #: cps/templates/book_table.html:41 msgid "Exchange author and title" -msgstr "" +msgstr "作者とタイトルを交換" #: cps/templates/book_table.html:47 msgid "Update Title Sort automatically" -msgstr "" +msgstr "タイトルのよみがなを自動で更新" #: cps/templates/book_table.html:51 msgid "Update Author Sort automatically" -msgstr "" +msgstr "作者のよみがなを自動で更新" #: cps/templates/book_table.html:63 cps/templates/book_table.html:69 msgid "Enter Title" -msgstr "" +msgstr "タイトルを入力" #: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 @@ -1956,72 +1945,70 @@ msgstr "タイトル" #: cps/templates/book_table.html:64 msgid "Enter Title Sort" -msgstr "" +msgstr "タイトルのよみがなを入力" #: cps/templates/book_table.html:64 msgid "Title Sort" -msgstr "" +msgstr "タイトルのよみがな" #: cps/templates/book_table.html:65 msgid "Enter Author Sort" -msgstr "" +msgstr "作者名のよみがなを入力" #: cps/templates/book_table.html:65 msgid "Author Sort" -msgstr "" +msgstr "作者名のよみがな" #: cps/templates/book_table.html:66 msgid "Enter Authors" -msgstr "" +msgstr "作者名を入力" #: cps/templates/book_table.html:67 msgid "Enter Categories" -msgstr "" +msgstr "カテゴリ名を入力" #: cps/templates/book_table.html:68 msgid "Enter Series" -msgstr "" +msgstr "シリーズ名を入力" #: cps/templates/book_table.html:69 msgid "Series Index" -msgstr "" +msgstr "巻数" #: cps/templates/book_table.html:70 msgid "Enter Languages" -msgstr "" +msgstr "言語を入力" #: cps/templates/book_table.html:71 msgid "Publishing Date" -msgstr "" +msgstr "発売日" #: cps/templates/book_table.html:72 msgid "Enter Publishers" -msgstr "" +msgstr "出版社を入力" #: cps/templates/book_table.html:73 -#, fuzzy msgid "Enter comments" -msgstr "ドメイン名を入力" +msgstr "コメントを入力" #: cps/templates/book_table.html:73 msgid "Comments" -msgstr "" +msgstr "コメント" #: cps/templates/book_table.html:75 msgid "Archiv Status" -msgstr "" +msgstr "アーカイブ状況" #: cps/templates/book_table.html:77 cps/templates/search_form.html:42 msgid "Read Status" -msgstr "" +msgstr "既読/未読" #: cps/templates/book_table.html:80 cps/templates/book_table.html:82 #: cps/templates/book_table.html:84 cps/templates/book_table.html:86 #: cps/templates/book_table.html:90 cps/templates/book_table.html:92 #: cps/templates/book_table.html:96 -#, fuzzy msgid "Enter " -msgstr "登録" +msgstr "入力: " #: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 #: cps/templates/tasks.html:36 @@ -2030,19 +2017,19 @@ msgstr "よろしいですか?" #: cps/templates/book_table.html:117 msgid "Books with Title will be merged from:" -msgstr "" +msgstr "このタイトルの本から" #: cps/templates/book_table.html:121 msgid "Into Book with Title:" -msgstr "" +msgstr "このタイトルの本に統合します" #: cps/templates/book_table.html:126 msgid "Merge" -msgstr "" +msgstr "統合" #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" -msgstr "" +msgstr "Calibre DBの場所" #: cps/templates/config_db.html:22 msgid "Use Google Drive?" @@ -2058,7 +2045,7 @@ msgstr "Googleドライブ上のCalibreフォルダ" #: cps/templates/config_db.html:40 msgid "Metadata Watch Channel ID" -msgstr "" +msgstr "メタデータ監視用チャンネルID" #: cps/templates/config_db.html:43 msgid "Revoke" @@ -2066,27 +2053,27 @@ msgstr "取り消す" #: cps/templates/config_db.html:68 msgid "New db location is invalid, please enter valid path" -msgstr "" +msgstr "入力したDBの場所が無効です。有効なパスを入力してください" #: cps/templates/config_edit.html:18 msgid "Server Configuration" -msgstr "サーバ設定" +msgstr "サーバー設定" #: cps/templates/config_edit.html:25 msgid "Server Port" -msgstr "ポート" +msgstr "ポート番号" #: cps/templates/config_edit.html:28 msgid "SSL certfile location (leave it empty for non-SSL Servers)" -msgstr "SSL証明書の場所 (非SSLサーバでは空欄にしてください)" +msgstr "SSL証明書の場所 (非SSLサーバーでは空欄にしてください)" #: cps/templates/config_edit.html:35 msgid "SSL Keyfile location (leave it empty for non-SSL Servers)" -msgstr "SSL鍵ファイルの場所 (非SSLサーバでは空欄にしてください)" +msgstr "SSL鍵ファイルの場所 (非SSLサーバーでは空欄にしてください)" #: cps/templates/config_edit.html:43 msgid "Update Channel" -msgstr "" +msgstr "アップデートチャンネル" #: cps/templates/config_edit.html:45 msgid "Stable" @@ -2098,11 +2085,11 @@ msgstr "最新" #: cps/templates/config_edit.html:50 msgid "Trusted Hosts (Comma Separated)" -msgstr "" +msgstr "信頼するホスト名 (カンマ区切り)" #: cps/templates/config_edit.html:61 msgid "Logfile Configuration" -msgstr "ログファイルの設定" +msgstr "ログファイル設定" #: cps/templates/config_edit.html:77 msgid "Location and name of logfile (calibre-web.log for no entry)" @@ -2110,11 +2097,11 @@ msgstr "ログファイル名 (空欄の場合はcalibre-web.log)" #: cps/templates/config_edit.html:82 msgid "Enable Access Log" -msgstr "" +msgstr "アクセスログを保存する" #: cps/templates/config_edit.html:85 msgid "Location and name of access logfile (access.log for no entry)" -msgstr "" +msgstr "アクセスログのファイル名 (空欄の場合はaccess.log)" #: cps/templates/config_edit.html:96 msgid "Feature Configuration" @@ -2122,55 +2109,55 @@ msgstr "機能設定" #: cps/templates/config_edit.html:104 msgid "Convert non-English characters in title and author while saving to disk" -msgstr "" +msgstr "ダウンロード時にタイトルと作者名の中にある2バイト文字を変換する" #: cps/templates/config_edit.html:108 msgid "Enable Uploads" -msgstr "" +msgstr "アップロード機能を有効にする" #: cps/templates/config_edit.html:108 msgid "(Please ensure users having also upload rights)" -msgstr "" +msgstr "(ユーザーにアップロード権限を与えることも忘れないでください)" #: cps/templates/config_edit.html:112 msgid "Allowed Upload Fileformats" -msgstr "" +msgstr "アップロードを許可するファイル形式" #: cps/templates/config_edit.html:118 msgid "Enable Anonymous Browsing" -msgstr "" +msgstr "匿名での閲覧を許可" #: cps/templates/config_edit.html:122 msgid "Enable Public Registration" -msgstr "" +msgstr "誰でも登録可能にする" #: cps/templates/config_edit.html:127 msgid "Use E-Mail as Username" -msgstr "" +msgstr "メールアドレスをユーザー名として使う" #: cps/templates/config_edit.html:132 msgid "Enable Magic Link Remote Login" -msgstr "" +msgstr "マジックリンクによるリモートログインを有効にする" #: cps/templates/config_edit.html:137 msgid "Enable Kobo sync" -msgstr "" +msgstr "Koboの同期を有効にする" #: cps/templates/config_edit.html:142 msgid "Proxy unknown requests to Kobo Store" -msgstr "" +msgstr "Koboストアへの不明なリクエストをプロキシ" #: cps/templates/config_edit.html:145 msgid "Server External Port (for port forwarded API calls)" -msgstr "" +msgstr "サーバーの外部ポート番号 (APIの呼び出しをポートフォワーディングするため)" #: cps/templates/config_edit.html:153 msgid "Use Goodreads" -msgstr "" +msgstr "Goodreadsを利用" #: cps/templates/config_edit.html:154 msgid "Create an API Key" -msgstr "" +msgstr "APIキーを作成" #: cps/templates/config_edit.html:158 msgid "Goodreads API Key" @@ -2182,138 +2169,138 @@ msgstr "GoodreadsのAPIシークレット" #: cps/templates/config_edit.html:169 msgid "Allow Reverse Proxy Authentication" -msgstr "" +msgstr "リバースプロキシの認証を許可" #: cps/templates/config_edit.html:180 msgid "Login type" -msgstr "" +msgstr "ログインの種類" #: cps/templates/config_edit.html:182 msgid "Use Standard Authentication" -msgstr "" +msgstr "通常の認証を利用" #: cps/templates/config_edit.html:184 msgid "Use LDAP Authentication" -msgstr "" +msgstr "LDAP認証を利用" #: cps/templates/config_edit.html:187 msgid "Use OAuth" -msgstr "" +msgstr "OAuthを利用" #: cps/templates/config_edit.html:194 msgid "LDAP Server Host Name or IP Address" -msgstr "" +msgstr "LDAPサーバーのホスト名またはIPアドレス" #: cps/templates/config_edit.html:198 msgid "LDAP Server Port" -msgstr "" +msgstr "LDAPサーバーのポート番号" #: cps/templates/config_edit.html:202 msgid "LDAP Encryption" -msgstr "" +msgstr "LDAPの暗号化方式" #: cps/templates/config_edit.html:205 msgid "TLS" -msgstr "" +msgstr "TLS" #: cps/templates/config_edit.html:206 msgid "SSL" -msgstr "" +msgstr "SSL" #: cps/templates/config_edit.html:210 msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" -msgstr "" +msgstr "LDAPのCA証明書のパス (クライアント証明書による認証の場合のみ必要)" #: cps/templates/config_edit.html:217 msgid "LDAP Certificate Path (Only needed for Client Certificate Authentication)" -msgstr "" +msgstr "LDAP証明書のパス (クライアント証明書による認証の場合のみ必要)" #: cps/templates/config_edit.html:224 msgid "LDAP Keyfile Path (Only needed for Client Certificate Authentication)" -msgstr "" +msgstr "LDAPのキーファイルのパス (クライアント証明書による認証の場合のみ必要)" #: cps/templates/config_edit.html:233 msgid "LDAP Authentication" -msgstr "" +msgstr "LDAP認証" #: cps/templates/config_edit.html:235 msgid "Anonymous" -msgstr "" +msgstr "匿名" #: cps/templates/config_edit.html:236 msgid "Unauthenticated" -msgstr "" +msgstr "認証失敗" #: cps/templates/config_edit.html:237 msgid "Simple" -msgstr "" +msgstr "簡単" #: cps/templates/config_edit.html:242 msgid "LDAP Administrator Username" -msgstr "" +msgstr "LDAP管理者のユーザー名" #: cps/templates/config_edit.html:248 msgid "LDAP Administrator Password" -msgstr "" +msgstr "LDAP管理者のパスワード" #: cps/templates/config_edit.html:253 msgid "LDAP Distinguished Name (DN)" -msgstr "" +msgstr "LDAPの識別名 (DN)" #: cps/templates/config_edit.html:257 msgid "LDAP User Object Filter" -msgstr "" +msgstr "LDAPユーザーフィルタ" #: cps/templates/config_edit.html:262 msgid "LDAP Server is OpenLDAP?" -msgstr "" +msgstr "LDAPサーバーはOpenLDAPですか?" #: cps/templates/config_edit.html:264 msgid "Following Settings are Needed For User Import" -msgstr "" +msgstr "以下の設定はユーザーのインポートのために必要です" #: cps/templates/config_edit.html:266 msgid "LDAP Group Object Filter" -msgstr "" +msgstr "LDAPグループフィルタ" #: cps/templates/config_edit.html:270 msgid "LDAP Group Name" -msgstr "" +msgstr "LDAPグループ名" #: cps/templates/config_edit.html:274 msgid "LDAP Group Members Field" -msgstr "" +msgstr "LDAPグループメンバーフィールド" #: cps/templates/config_edit.html:278 msgid "LDAP Member User Filter Detection" -msgstr "" +msgstr "LDAPメンバーユーザーフィルタ検出" #: cps/templates/config_edit.html:280 msgid "Autodetect" -msgstr "" +msgstr "自動検出" #: cps/templates/config_edit.html:281 msgid "Custom Filter" -msgstr "" +msgstr "カスタムフィルタ" #: cps/templates/config_edit.html:286 msgid "LDAP Member User Filter" -msgstr "" +msgstr "LDAPメンバーユーザーフィルタ" #: cps/templates/config_edit.html:297 #, python-format msgid "Obtain %(provider)s OAuth Credential" -msgstr "" +msgstr "%(provider)s OAuth 認証情報を入手" #: cps/templates/config_edit.html:300 #, python-format msgid "%(provider)s OAuth Client Id" -msgstr "" +msgstr "%(provider)s OAuth クライアントID" #: cps/templates/config_edit.html:304 #, python-format msgid "%(provider)s OAuth Client Secret" -msgstr "" +msgstr "%(provider)s OAuth クライアントシークレット" #: cps/templates/config_edit.html:320 msgid "External binaries" @@ -2321,15 +2308,15 @@ msgstr "外部バイナリ" #: cps/templates/config_edit.html:326 msgid "Path to Calibre E-Book Converter" -msgstr "" +msgstr "Calibre E-Book Converterのパス" #: cps/templates/config_edit.html:334 msgid "Calibre E-Book Converter Settings" -msgstr "" +msgstr "Calibre E-Book Converterの設定" #: cps/templates/config_edit.html:337 msgid "Path to Kepubify E-Book Converter" -msgstr "" +msgstr "Kepubify E-Book Converterのパス" #: cps/templates/config_edit.html:345 msgid "Location of Unrar binary" @@ -2341,11 +2328,11 @@ msgstr "表示設定" #: cps/templates/config_view_edit.html:32 msgid "No. of Random Books to Display" -msgstr "" +msgstr "ランダムに表示する本の冊数" #: cps/templates/config_view_edit.html:36 msgid "No. of Authors to Display Before Hiding (0=Disable Hiding)" -msgstr "" +msgstr "非表示にする前に表示する作者数 (0=非表示にしない)" #: cps/templates/config_view_edit.html:40 cps/templates/readcbr.html:113 msgid "Theme" @@ -2361,27 +2348,27 @@ msgstr "caliBlur! ダークテーマ" #: cps/templates/config_view_edit.html:47 msgid "Regular Expression for Ignoring Columns" -msgstr "" +msgstr "無視するカラムの正規表現" #: cps/templates/config_view_edit.html:51 msgid "Link Read/Unread Status to Calibre Column" -msgstr "" +msgstr "既読/未読をリンクするCalibreのカラム" #: cps/templates/config_view_edit.html:60 msgid "View Restrictions based on Calibre column" -msgstr "" +msgstr "表示制限をリンクするCalibreのカラム" #: cps/templates/config_view_edit.html:69 msgid "Regular Expression for Title Sorting" -msgstr "" +msgstr "タイトルをソートするための正規表現" #: cps/templates/config_view_edit.html:80 msgid "Default Settings for New Users" -msgstr "" +msgstr "新規ユーザーのデフォルト設定" #: cps/templates/config_view_edit.html:88 cps/templates/user_edit.html:96 msgid "Admin User" -msgstr "" +msgstr "管理者ユーザー" #: cps/templates/config_view_edit.html:92 cps/templates/user_edit.html:101 msgid "Allow Downloads" @@ -2389,7 +2376,7 @@ msgstr "ダウンロードを許可" #: cps/templates/config_view_edit.html:96 cps/templates/user_edit.html:105 msgid "Allow eBook Viewer" -msgstr "" +msgstr "本のビューアを許可" #: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:110 msgid "Allow Uploads" @@ -2401,7 +2388,7 @@ msgstr "編集を許可" #: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:120 msgid "Allow Delete Books" -msgstr "" +msgstr "本の削除を許可" #: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:126 msgid "Allow Changing Password" @@ -2412,47 +2399,46 @@ msgid "Allow Editing Public Shelves" msgstr "みんなの本棚の編集を許可" #: cps/templates/config_view_edit.html:123 -#, fuzzy msgid "Default Language" -msgstr "言語を除外" +msgstr "言語設定のデフォルト" #: cps/templates/config_view_edit.html:131 msgid "Default Visible Language of Books" -msgstr "" +msgstr "表示する本の言語設定のデフォルト" #: cps/templates/config_view_edit.html:147 msgid "Default Visibilities for New Users" -msgstr "" +msgstr "新規ユーザーのデフォルト表示設定" #: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:84 #: cps/templates/user_table.html:154 msgid "Show Random Books in Detail View" -msgstr "" +msgstr "詳細画面でランダムに本を表示" #: cps/templates/config_view_edit.html:166 cps/templates/user_edit.html:87 msgid "Add Allowed/Denied Tags" -msgstr "" +msgstr "許可/拒否タグを追加" #: cps/templates/config_view_edit.html:167 msgid "Add Allowed/Denied custom column values" -msgstr "" +msgstr "許可/拒否カスタムカラムを追加" #: cps/templates/detail.html:61 cps/templates/detail.html:70 msgid "Read in Browser" -msgstr "" +msgstr "ブラウザで読む" #: cps/templates/detail.html:78 cps/templates/detail.html:95 msgid "Listen in Browser" -msgstr "" +msgstr "ブラウザで聞く" #: cps/templates/detail.html:125 #, python-format msgid "Book %(index)s of %(range)s" -msgstr "" +msgstr "%(range)s 第%(index)s巻" #: cps/templates/detail.html:174 msgid "Published" -msgstr "" +msgstr "発売日" #: cps/templates/detail.html:222 msgid "Mark As Unread" @@ -2464,19 +2450,19 @@ msgstr "既読に設定" #: cps/templates/detail.html:223 msgid "Read" -msgstr "読んだ" +msgstr "既読" #: cps/templates/detail.html:232 msgid "Restore from archive" -msgstr "" +msgstr "アーカイブから復元" #: cps/templates/detail.html:232 msgid "Add to archive" -msgstr "" +msgstr "アーカイブに追加" #: cps/templates/detail.html:233 msgid "Archived" -msgstr "" +msgstr "アーカイブ済み" #: cps/templates/detail.html:244 msgid "Description:" @@ -2490,31 +2476,31 @@ msgstr "本棚に追加" #: cps/templates/feed.xml:79 cps/templates/layout.html:138 #: cps/templates/search.html:22 msgid "(Public)" -msgstr "" +msgstr "(公開)" #: cps/templates/detail.html:299 msgid "Edit Metadata" -msgstr "" +msgstr "メタデータを編集" #: cps/templates/email_edit.html:13 msgid "Choose Server Type" -msgstr "" +msgstr "サーバーの種類を選択" #: cps/templates/email_edit.html:15 msgid "Use Standard E-Mail Account" -msgstr "" +msgstr "標準のメールアカウントを使用" #: cps/templates/email_edit.html:16 msgid "Gmail Account with OAuth2 Verification" -msgstr "" +msgstr "OAuth2認証を用いたGmailアカウント" #: cps/templates/email_edit.html:22 msgid "Setup Gmail Account as E-Mail Server" -msgstr "" +msgstr "Gmailアカウントをメールサーバーとして設定" #: cps/templates/email_edit.html:24 msgid "Revoke Gmail Access" -msgstr "" +msgstr "Gmailへのアクセスを失効" #: cps/templates/email_edit.html:42 msgid "STARTTLS" @@ -2526,15 +2512,15 @@ msgstr "SSL/TLS" #: cps/templates/email_edit.html:51 msgid "SMTP Password" -msgstr "" +msgstr "SMTPのパスワード" #: cps/templates/email_edit.html:58 msgid "Attachment Size Limit" -msgstr "" +msgstr "添付ファイルのサイズ制限" #: cps/templates/email_edit.html:66 msgid "Save and Send Test E-mail" -msgstr "" +msgstr "保存してテストメールを送信" #: cps/templates/email_edit.html:70 cps/templates/layout.html:30 #: cps/templates/shelf_order.html:42 cps/templates/user_table.html:174 @@ -2543,7 +2529,7 @@ msgstr "戻る" #: cps/templates/email_edit.html:74 msgid "Allowed Domains (Whitelist)" -msgstr "" +msgstr "許可するドメイン名 (ホワイトリスト)" #: cps/templates/email_edit.html:78 cps/templates/email_edit.html:105 msgid "Add Domain" @@ -2560,7 +2546,7 @@ msgstr "ドメイン名を入力" #: cps/templates/email_edit.html:92 msgid "Denied Domains (Blacklist)" -msgstr "" +msgstr "拒否するドメイン名 (ブラックリスト)" #: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" @@ -2568,57 +2554,57 @@ msgstr "次" #: cps/templates/generate_kobo_auth_url.html:6 msgid "Open the .kobo/Kobo eReader.conf file in a text editor and add (or edit):" -msgstr "" +msgstr ".kobo/Kobo eReader.confファイルをテキストエディタで開いて追加(編集)してください:" #: cps/templates/generate_kobo_auth_url.html:11 msgid "Kobo Token:" -msgstr "" +msgstr "Koboトークン:" #: cps/templates/grid.html:21 msgid "List" -msgstr "" +msgstr "一覧" #: cps/templates/http_error.html:31 msgid "Calibre-Web Instance is unconfigured, please contact your administrator" -msgstr "" +msgstr "Calibre-Webインスタンスが未設定です。管理者に連絡してください" #: cps/templates/http_error.html:41 msgid "Create Issue" -msgstr "" +msgstr "Issueを作成" #: cps/templates/http_error.html:48 msgid "Return to Home" -msgstr "" +msgstr "ホームに戻る" #: cps/templates/http_error.html:50 msgid "Logout User" -msgstr "" +msgstr "ユーザーをログアウト" #: cps/templates/index.html:71 msgid "Sort ascending according to download count" -msgstr "" +msgstr "ダウンロード数が少ない順にソート" #: cps/templates/index.html:72 msgid "Sort descending according to download count" -msgstr "" +msgstr "ダウンロード数が多い順にソート" #: cps/templates/index.html:78 cps/templates/search.html:35 #: cps/templates/shelf.html:24 msgid "Sort authors in alphabetical order" -msgstr "" +msgstr "作者名を五十音順にソート" #: cps/templates/index.html:79 cps/templates/search.html:36 #: cps/templates/shelf.html:25 msgid "Sort authors in reverse alphabetical order" -msgstr "" +msgstr "作者名を逆五十音順にソート" #: cps/templates/index.html:83 msgid "Sort ascending according to series index" -msgstr "" +msgstr "巻数が小さい順にソート" #: cps/templates/index.html:84 msgid "Sort descending according to series index" -msgstr "" +msgstr "巻数が大きい順にソート" #: cps/templates/index.xml:6 msgid "Start" @@ -2626,11 +2612,11 @@ msgstr "開始" #: cps/templates/index.xml:18 msgid "Alphabetical Books" -msgstr "" +msgstr "五十音順の本" #: cps/templates/index.xml:22 msgid "Books sorted alphabetically" -msgstr "" +msgstr "五十音順にソートされた本" #: cps/templates/index.xml:29 msgid "Popular publications from this catalog based on Downloads." @@ -2642,7 +2628,7 @@ msgstr "評価に基づいた、この出版社が出している有名な本" #: cps/templates/index.xml:39 msgid "Recently added Books" -msgstr "" +msgstr "最近追加された本" #: cps/templates/index.xml:43 msgid "The latest Books" @@ -2654,7 +2640,7 @@ msgstr "ランダム" #: cps/templates/index.xml:73 msgid "Books ordered by Author" -msgstr "著者名順" +msgstr "作者名順" #: cps/templates/index.xml:80 msgid "Books ordered by publisher" @@ -2670,24 +2656,24 @@ msgstr "シリーズ順" #: cps/templates/index.xml:101 msgid "Books ordered by Languages" -msgstr "" +msgstr "言語順" #: cps/templates/index.xml:108 msgid "Books ordered by Rating" -msgstr "" +msgstr "評価順" #: cps/templates/index.xml:116 msgid "Books ordered by file formats" -msgstr "" +msgstr "ファイル形式順" #: cps/templates/index.xml:119 cps/templates/layout.html:136 #: cps/templates/search_form.html:87 msgid "Shelves" -msgstr "" +msgstr "本棚" #: cps/templates/index.xml:123 msgid "Books organized in shelves" -msgstr "" +msgstr "本棚に整理された本" #: cps/templates/layout.html:30 msgid "Home" @@ -2695,11 +2681,11 @@ msgstr "ホーム" #: cps/templates/layout.html:36 msgid "Toggle Navigation" -msgstr "" +msgstr "ナビゲーションを実行" #: cps/templates/layout.html:47 msgid "Search Library" -msgstr "" +msgstr "ライブラリ内を検索" #: cps/templates/layout.html:64 cps/templates/layout.html:118 msgid "Uploading..." @@ -2728,7 +2714,7 @@ msgstr "ログアウト" #: cps/templates/layout.html:119 msgid "Please do not refresh the page" -msgstr "" +msgstr "ページを更新しないでください" #: cps/templates/layout.html:129 msgid "Browse" @@ -2748,75 +2734,75 @@ msgstr "本の詳細" #: cps/templates/list.html:22 msgid "Grid" -msgstr "" +msgstr "表" #: cps/templates/login.html:18 msgid "Remember Me" -msgstr "" +msgstr "アカウント情報を記憶する" #: cps/templates/login.html:23 msgid "Forgot Password?" -msgstr "" +msgstr "パスワードを忘れた場合" #: cps/templates/login.html:26 msgid "Log in with Magic Link" -msgstr "" +msgstr "マジックリンクでログイン" #: cps/templates/logviewer.html:6 msgid "Show Calibre-Web Log: " -msgstr "" +msgstr "Calibre-Webのログを表示: " #: cps/templates/logviewer.html:8 msgid "Calibre-Web Log: " -msgstr "" +msgstr "Calibre-Webのログ: " #: cps/templates/logviewer.html:8 msgid "Stream output, can't be displayed" -msgstr "" +msgstr "ストリームの出力を表示できません" #: cps/templates/logviewer.html:12 msgid "Show Access Log: " -msgstr "" +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" -msgstr "" +msgstr "許可/拒否タグを選択" #: cps/templates/modal_dialogs.html:7 msgid "Select Allowed/Denied Custom Column Values" -msgstr "" +msgstr "許可/拒否カスタムカラムを選択" #: cps/templates/modal_dialogs.html:8 msgid "Select Allowed/Denied Tags of User" -msgstr "" +msgstr "ユーザーの許可/拒否タグを選択" #: cps/templates/modal_dialogs.html:9 msgid "Select Allowed/Denied Custom Column Values of User" -msgstr "" +msgstr "ユーザーの許可/拒否カスタムカラムを選択" #: cps/templates/modal_dialogs.html:15 msgid "Enter Tag" -msgstr "" +msgstr "タグを入力" #: cps/templates/modal_dialogs.html:24 msgid "Add View Restriction" -msgstr "" +msgstr "表示制限を追加" #: cps/templates/modal_dialogs.html:50 msgid "This book format will be permanently erased from database" -msgstr "" +msgstr "このファイル形式はDBから完全に削除されます" #: cps/templates/modal_dialogs.html:51 msgid "This book will be permanently erased from database" -msgstr "" +msgstr "この本はDBとローカルから完全に削除されます" #: cps/templates/modal_dialogs.html:52 msgid "and hard disk" @@ -2824,48 +2810,47 @@ msgstr "" #: cps/templates/modal_dialogs.html:56 msgid "Important Kobo Note: deleted books will remain on any paired Kobo device." -msgstr "" +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." -msgstr "" +msgstr "本を安全に削除するためには、初めに本をアーカイブした上で端末と同期する必要があります" #: cps/templates/modal_dialogs.html:76 msgid "Choose File Location" -msgstr "" +msgstr "ファイルの場所を選択" #: cps/templates/modal_dialogs.html:82 msgid "type" -msgstr "" +msgstr "種類" #: cps/templates/modal_dialogs.html:83 msgid "name" -msgstr "" +msgstr "名前" #: cps/templates/modal_dialogs.html:84 msgid "size" -msgstr "" +msgstr "サイズ" #: cps/templates/modal_dialogs.html:90 msgid "Parent Directory" -msgstr "" +msgstr "親ディレクトリ" #: cps/templates/modal_dialogs.html:98 msgid "Select" -msgstr "" +msgstr "選択" #: cps/templates/modal_dialogs.html:134 cps/templates/tasks.html:45 -#, fuzzy msgid "Ok" -msgstr "本" +msgstr "OK" #: cps/templates/osd.xml:5 msgid "Calibre-Web eBook Catalog" -msgstr "" +msgstr "Calibre-WebのeBookカタログ" #: cps/templates/read.html:6 msgid "epub Reader" -msgstr "" +msgstr "EPUBリーダー" #: cps/templates/read.html:77 cps/templates/readcbr.html:116 msgid "Light" @@ -2877,20 +2862,19 @@ msgstr "ダーク" #: cps/templates/read.html:79 msgid "Sepia" -msgstr "" +msgstr "セピア" #: cps/templates/read.html:80 -#, fuzzy msgid "Black" -msgstr "戻る" +msgstr "ブラック" #: cps/templates/read.html:84 msgid "Reflow text when sidebars are open." -msgstr "" +msgstr "サイドバーが開いているとき、テキストを再度流し込みます。" #: cps/templates/readcbr.html:7 msgid "Comic Reader" -msgstr "" +msgstr "コミックリーダー" #: cps/templates/readcbr.html:89 msgid "Keyboard Shortcuts" @@ -2934,7 +2918,7 @@ msgstr "画像を反転する" #: cps/templates/readcbr.html:122 msgid "Scale" -msgstr "サイズ" +msgstr "スケール" #: cps/templates/readcbr.html:125 msgid "Best" @@ -2982,80 +2966,79 @@ 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:5 msgid "DJVU Reader" -msgstr "" +msgstr "DJVUリーダー" #: cps/templates/readpdf.html:29 msgid "PDF Reader" -msgstr "" +msgstr "PDFリーダー" #: cps/templates/readtxt.html:6 -#, fuzzy msgid "txt Reader" -msgstr "テキストリーダ" +msgstr "テキストリーダー" #: cps/templates/register.html:4 msgid "Register New Account" -msgstr "" +msgstr "新規アカウントを登録" #: cps/templates/register.html:10 msgid "Choose a username" -msgstr "ユーザ名を入力してください" +msgstr "ユーザー名を入力してください" #: cps/templates/register.html:15 msgid "Your email address" -msgstr "あなたのメールアドレス" +msgstr "メールアドレス" #: cps/templates/remote_login.html:5 msgid "Magic Link - Authorise New Device" -msgstr "" +msgstr "マジックリンク - 新規端末を認証する" #: cps/templates/remote_login.html:7 msgid "On another device, login and visit:" -msgstr "" +msgstr "他の端末でログインしてアクセスしてください:" #: cps/templates/remote_login.html:11 msgid "Once verified, you will automatically be logged in on this device." -msgstr "" +msgstr "一度承認されると、自動的にこの端末でログインされます。" #: cps/templates/remote_login.html:14 msgid "This verification link will expire in 10 minutes." -msgstr "" +msgstr "この確認リンクの有効期限は10分です。" #: cps/templates/schedule_edit.html:29 msgid "Generate Book Cover Thumbnails" -msgstr "" +msgstr "本の表紙サムネイルを生成" #: cps/templates/schedule_edit.html:33 msgid "Generate Series Cover Thumbnails" -msgstr "" +msgstr "シリーズの表紙サムネイルを生成" #: cps/templates/search.html:6 msgid "No Results Found" -msgstr "" +msgstr "結果が見つかりません" #: cps/templates/search.html:7 msgid "Search Term:" -msgstr "" +msgstr "検索する単語:" #: cps/templates/search.html:9 msgid "Results for:" @@ -3063,52 +3046,51 @@ msgstr "結果:" #: cps/templates/search_form.html:21 msgid "Published Date From" -msgstr "" +msgstr "発売日(〜から)" #: cps/templates/search_form.html:31 msgid "Published Date To" -msgstr "" +msgstr "発売日(〜まで)" #: cps/templates/search_form.html:59 msgid "Exclude Tags" -msgstr "タグを除外" +msgstr "除外するタグ" #: cps/templates/search_form.html:77 msgid "Exclude Series" -msgstr "シリーズを除外" +msgstr "除外するシリーズ" #: cps/templates/search_form.html:95 -#, fuzzy msgid "Exclude Shelves" -msgstr "シリーズを除外" +msgstr "除外する本棚" #: cps/templates/search_form.html:115 msgid "Exclude Languages" -msgstr "言語を除外" +msgstr "除外する言語" #: cps/templates/search_form.html:126 msgid "Extensions" -msgstr "" +msgstr "拡張子" #: cps/templates/search_form.html:134 msgid "Exclude Extensions" -msgstr "" +msgstr "除外する拡張子" #: cps/templates/search_form.html:144 msgid "Rating Above" -msgstr "" +msgstr "評価(〜以上)" #: cps/templates/search_form.html:148 msgid "Rating Below" -msgstr "" +msgstr "評価(〜以下)" #: cps/templates/search_form.html:180 msgid "From:" -msgstr "" +msgstr "〜から:" #: cps/templates/search_form.html:190 msgid "To:" -msgstr "" +msgstr "〜まで:" #: cps/templates/shelf.html:13 msgid "Delete this Shelf" @@ -3116,63 +3098,63 @@ msgstr "この本棚を削除" #: cps/templates/shelf.html:14 msgid "Edit Shelf Properties" -msgstr "" +msgstr "本棚のプロパティを編集" #: cps/templates/shelf.html:17 msgid "Arrange books manually" -msgstr "" +msgstr "手動で本を並び替える" #: cps/templates/shelf.html:18 msgid "Disable Change order" -msgstr "" +msgstr "並び順の変更を無効にする" #: cps/templates/shelf.html:18 msgid "Enable Change order" -msgstr "" +msgstr "並び順の変更を有効にする" #: cps/templates/shelf_edit.html:14 msgid "Share with Everyone" -msgstr "" +msgstr "みんなと共有" #: cps/templates/shelf_edit.html:21 msgid "Sync this shelf with Kobo device" -msgstr "" +msgstr "この本棚をKobo端末と同期" #: cps/templates/shelf_order.html:5 msgid "Drag to Rearrange Order" -msgstr "" +msgstr "ドラッグして並び順を変更" #: cps/templates/shelf_order.html:33 msgid "Hidden Book" -msgstr "" +msgstr "非表示の本" #: cps/templates/stats.html:7 msgid "Library Statistics" -msgstr "" +msgstr "ライブラリの統計" #: cps/templates/stats.html:12 msgid "Books in this Library" -msgstr "このライブラリ内の本" +msgstr "このライブラリ内の本の冊数" #: cps/templates/stats.html:16 msgid "Authors in this Library" -msgstr "このライブラリ内の著者" +msgstr "このライブラリ内の作者数" #: cps/templates/stats.html:20 msgid "Categories in this Library" -msgstr "このライブラリ内のカテゴリ" +msgstr "このライブラリ内のカテゴリ数" #: cps/templates/stats.html:24 msgid "Series in this Library" -msgstr "このライブラリ内のシリーズ" +msgstr "このライブラリ内のシリーズ数" #: cps/templates/stats.html:29 msgid "System Statistics" -msgstr "" +msgstr "システムの統計" #: cps/templates/stats.html:33 msgid "Program" -msgstr "" +msgstr "プログラム" #: cps/templates/stats.html:34 msgid "Installed Version" @@ -3180,7 +3162,7 @@ msgstr "インストールされたバージョン" #: cps/templates/tasks.html:12 msgid "User" -msgstr "ユーザ" +msgstr "ユーザー" #: cps/templates/tasks.html:14 msgid "Task" @@ -3196,165 +3178,157 @@ msgstr "進捗" #: cps/templates/tasks.html:17 msgid "Run Time" -msgstr "" +msgstr "稼働時間" #: cps/templates/tasks.html:18 msgid "Start Time" -msgstr "" +msgstr "開始時刻" #: cps/templates/tasks.html:20 msgid "Actions" -msgstr "" +msgstr "アクション" #: cps/templates/tasks.html:40 msgid "This task will be cancelled. Any progress made by this task will be saved." -msgstr "" +msgstr "このタスクはキャンセルされます。このタスクによる進捗はすべて保存されます。" #: cps/templates/tasks.html:41 msgid "If this is a scheduled task, it will be re-ran during the next scheduled time." -msgstr "" +msgstr "これがスケジュールタスクの場合、次のスケジュールの時刻にはもう一度実行されます。" #: cps/templates/user_edit.html:20 msgid "Reset user Password" -msgstr "ユーザパスワードをリセット" +msgstr "パスワードをリセット" #: cps/templates/user_edit.html:43 msgid "Language of Books" -msgstr "" +msgstr "本の言語" #: cps/templates/user_edit.html:54 msgid "OAuth Settings" -msgstr "" +msgstr "OAuth設定" #: cps/templates/user_edit.html:56 msgid "Link" -msgstr "" +msgstr "リンク" #: cps/templates/user_edit.html:58 msgid "Unlink" -msgstr "" +msgstr "リンク解除" #: cps/templates/user_edit.html:64 msgid "Kobo Sync Token" -msgstr "" +msgstr "Kobo同期トークン" #: cps/templates/user_edit.html:66 msgid "Create/View" -msgstr "" +msgstr "作成/表示" #: cps/templates/user_edit.html:70 msgid "Force full kobo sync" -msgstr "" +msgstr "強制的にKoboと完全同期" #: cps/templates/user_edit.html:88 msgid "Add allowed/Denied Custom Column Values" -msgstr "" +msgstr "許可/拒否カスタムカラムを追加" #: cps/templates/user_edit.html:137 msgid "Sync only books in selected shelves with Kobo" -msgstr "" +msgstr "選択した本棚内の本のみKoboと同期" #: cps/templates/user_edit.html:147 cps/templates/user_table.html:169 msgid "Delete User" -msgstr "" +msgstr "ユーザーを削除" #: cps/templates/user_edit.html:159 msgid "Generate Kobo Auth URL" -msgstr "" +msgstr "Koboの認証URLを生成" #: cps/templates/user_table.html:80 cps/templates/user_table.html:103 msgid "Select..." -msgstr "" +msgstr "選択..." #: cps/templates/user_table.html:131 msgid "Edit User" -msgstr "" +msgstr "ユーザーを編集" #: cps/templates/user_table.html:134 -#, fuzzy msgid "Enter Username" -msgstr "ユーザ名を入力してください" +msgstr "ユーザー名を入力してください" #: cps/templates/user_table.html:135 -#, fuzzy msgid "Enter E-mail Address" -msgstr "あなたのメールアドレス" +msgstr "メールアドレスを入力してください" #: cps/templates/user_table.html:136 -#, fuzzy msgid "Enter E-Reader E-mail Address" -msgstr "あなたのメールアドレス" +msgstr "E-Readerメールアドレスを入力してください" #: cps/templates/user_table.html:136 -#, fuzzy msgid "E-Reader E-mail" -msgstr "テストメール" +msgstr "E-Readerメール" #: cps/templates/user_table.html:137 -#, fuzzy msgid "Locale" -msgstr "サイズ" +msgstr "地域" #: cps/templates/user_table.html:138 msgid "Visible Book Languages" -msgstr "" +msgstr "表示する本の言語" #: cps/templates/user_table.html:139 msgid "Edit Allowed Tags" -msgstr "" +msgstr "許可タグを編集" #: cps/templates/user_table.html:139 msgid "Allowed Tags" -msgstr "" +msgstr "許可タグ" #: cps/templates/user_table.html:140 msgid "Edit Denied Tags" -msgstr "" +msgstr "拒否タグを編集" #: cps/templates/user_table.html:140 msgid "Denied Tags" -msgstr "" +msgstr "拒否タグ" #: cps/templates/user_table.html:141 msgid "Edit Allowed Column Values" -msgstr "" +msgstr "許可カスタムカラムを編集" #: cps/templates/user_table.html:141 msgid "Allowed Column Values" -msgstr "" +msgstr "許可カスタムカラム" #: cps/templates/user_table.html:142 msgid "Edit Denied Column Values" -msgstr "" +msgstr "拒否カスタムカラムを編集" #: cps/templates/user_table.html:142 msgid "Denied Column Values" -msgstr "" +msgstr "拒否カスタムカラム" #: cps/templates/user_table.html:144 -#, fuzzy msgid "Change Password" -msgstr "パスワード変更を許可" +msgstr "パスワード変更" #: cps/templates/user_table.html:147 msgid "View" -msgstr "" +msgstr "閲覧" #: cps/templates/user_table.html:150 -#, fuzzy msgid "Edit Public Shelves" -msgstr "本棚を編集する" +msgstr "みんなの本棚を編集" #: cps/templates/user_table.html:152 msgid "Sync selected Shelves with Kobo" -msgstr "" +msgstr "選択した本棚をKoboと同期" #: cps/templates/user_table.html:156 -#, fuzzy msgid "Show read/unread selection" -msgstr "シリーズ選択を表示" +msgstr "既読/未読の選択を表示" #: cps/templates/user_table.html:159 msgid "Show random books" -msgstr "ランダムで本を表示" +msgstr "ランダムに本を表示" From 92b6dbf26f146776362bdf22f4cf3748f33fe7ae Mon Sep 17 00:00:00 2001 From: subdiox Date: Sun, 26 Jun 2022 01:29:08 +0900 Subject: [PATCH 04/98] Fix one Japanese translation --- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 67632 -> 67663 bytes cps/translations/ja/LC_MESSAGES/messages.po | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index d00d29d0a43d24bd256ab1fcf624dc88caae7ca3..88418ca47d54a1a82e2cf79e0ad58bb1c04086b6 100644 GIT binary patch delta 12830 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 Date: Sun, 26 Jun 2022 10:26:45 +0900 Subject: [PATCH 05/98] Fix author & series ID translation --- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 67663 -> 67655 bytes cps/translations/ja/LC_MESSAGES/messages.po | 36 ++++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index 88418ca47d54a1a82e2cf79e0ad58bb1c04086b6..e58148bb9ecec674174eb1d0169a262e802baeae 100644 GIT binary patch delta 1724 zcmZ|Pe@xX?7{~E*<$|UVKa>RliFXo`($vt2ws2)ukPR8x*2aLbHgzH-Gq=R9fE1%h zkeF*~gH1NAblUyHRb$lLvP~&R8EvgCyI#ZT?2@8hOX>ajp7XDNz0P^gd7kr}^S$t6 zxBpDH|3u}&V1hAb&2?jB89sp(_z3R8H0;Aocm$I%?Qdf$F@Vb3fsf-mxC#eRc^7dm z-gM518k5Dm2(?}wH9@aH9RU^Ej5+uwCgNU9$AhRsUtm6ty7*mG!ITNx_#(_;{u<85 zMpS+uYTsu#56`&xm5HEDm~tC3{;>%~r~;*^gBwtZdr^f>q6&{V!>9|yumQ~tYa{CA z{=jWmdehb&Le={-=mP#p8z{iVER?x|JRsh*o12AC@$uF^F0F{9K$S3_|KS`7(i_-M8#i5eTt2!7wSU2$RV78XHj*2 z#wxssx_QYx>sr(ctwZJ4;S$a_O&Z`JuD~%=p_Kdf;2hMqFGl@nYEcKbVJ4o$=kY9V zz|<-G=eZGiVl#xgzo^dJ!w{)&wG;9r~>6!f>kbl2=#Qw-1=$M z)1F5)Fy`h_w|*P-#D2fed)YateQQy_scO_kH~EA1rp*LYFoe44SNI-Aa6Q(?`@BEP zVSJW(6xGmE3HD|$VK(y}Sb-m*4*UyK&`h`WQ&FEX1J%gtat10?>H;;W#LcLN+MJ!3 z$GivQ@f0q_AuPZsF2YAcnM(qVMdLmD$9K0IOQgFi+;TkJ+7WIU4!3*|Zu!(Ltjx_@ zu(h`Sje;fxdK(7j#$l*uU`3oaICuEN>E58~bAM9agNlV)_eI(VBb^6SB=qi={WiH^ zs5;9_e*f288#(^lPl;Y+&-gd-Ns&`uU+z0$EWPs%XNR_5Utl-(PbB!YvG?d?z)SdH OvT24lSaW~Y%>Mz*J9N_k delta 1721 zcmZ|Oe@K;A9LMqV==H~%S!;yX>B=m(bZg6~5haVt$SGKvjW*_@L9B=^XT^+Q&%A1j ztS}=gN=V54Ar;0Y!hTQ$E=FSwTp(?$Kb{G;wdyY2Y?bZ(dCvK_zh38j&-s4O_nhb6 ztF4jitPH~dUvOzAyiQgI~~;fI)o%{T$uaRYYaIDF;4G1XXv%JcCx+=27)Br5L? zPR1wB+y} z4eL?)?Wlv}I0dh}cp~B3gtWiyhCEb4393L9>fkR?i3d@IdQkgrIR8Xlz#%Cb*6l^r`@?sEjA0un#+fXvbn_-uBj2KKehp{fL$^NVAA5ntsK!3R7qA{H zFotUEM;wPY+hGw7+{utlF-I$N(owrc?y%A%QF$*VQ z4yu89sKypLD{unmn^g>UvalZ2Q3AK(C@NvgBU|VzT)?~?%kekVji>)-%)3~MFJYsb zA3%MIpYa{7KQ?9#ZbvnC8fS98`H6uJ_MX^+nK*`d5o+Tc7q3QridxiD9zeZFC#GW` zs?M)igLhCjU;5NqiF%<`sQiss%=u=!26z(Z;%!u+=%{U|0QKz`qJA_RPzSeQHum5W z?8Eml`_FvpyY=r;jSrz3^pdP^J8Q6#cng-{%_PqcpLA-n7d}ZDs=#Vofa_em6ZLdw-1;@t z)Apkpxb5a6Zv7eRi8CTz__DdEeU+%+)TgM6eG&2PO`8a);Ca+dui!WM7p}mqDPH(5 zxQdIIkDwZwpK5Qo0&|)BScOMX2j0i=n4V_qXQMu49;%VDa~@4kc0}+O@x9I6vI| P-SFo0a8NS(;+X#der Date: Thu, 30 Jun 2022 21:24:22 +0800 Subject: [PATCH 06/98] Update Simplifield Chinese translation --- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 50258 -> 53457 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 103 +++++++++--------- 2 files changed, 49 insertions(+), 54 deletions(-) diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index b39f3ae567f2a347e4cb4c699e9b862d6a5de12e..1c62a60b76792445d09c6038dda2dd3dddba7748 100644 GIT binary patch delta 15309 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%0Dw6|Ie=BlP<4-{a@P^grqQ+T# zfd9LJI&7ptE8k`v4w#2gd-|2t|3z(0*gz@W4;!7gcE=L@FRnGhEIFynY= z;D@HK1P3=O77|$8{O90DEt-b}inM$!_)W{)(BQM}riTQJWaSG9#Ai1Nj>>+aVBxG0 z{YE4X8|IzQ>~lf@}Lk@opzn~1!FPtdoj>sWh&zGc$Roi;FT52V7(1?0@Y=XNp}}4LGx;Oa8YHGQ z$f#2%rB>}g^5kGhqrjQTFBC|tRWq$naKw}&`GU=-{!<{>a{8jsK%KWn1vb6)Tj0~c z?%@78DItOTb6*X9{C0e3@Xo?lLISfFUkOZFk`erV$=$HP@9)M0SH1U4NHBU;gOEUA z^_9TlHBE!}*Q^f>Zr*SwB)D%=URYq~_8$VrcH{;+?ffW^y{lYs>aI`n2S\n" "Language: zh_CN\n" "Language-Team: zh_Hans_CN \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=1; plural=0\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.10.1\n" +"Generated-By: Babel 2.9.1\n" #: cps/about.py:84 msgid "Statistics" @@ -184,7 +184,7 @@ msgstr "您确定要更改 Calibre 库位置吗?" #: cps/admin.py:618 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" -msgstr "" +msgstr "Calibre-Web 将搜索更新封面,并更新缩略图,这可能需要一段时间" #: cps/admin.py:621 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" @@ -310,19 +310,19 @@ msgstr "邮件服务器设置已更新" #: cps/admin.py:1319 cps/templates/admin.html:191 msgid "Edit Scheduled Tasks Settings" -msgstr "" +msgstr "编辑计划任务设置" #: cps/admin.py:1331 msgid "Invalid start time for task specified" -msgstr "" +msgstr "指定任务的开始时间无效" #: cps/admin.py:1336 msgid "Invalid duration for task specified" -msgstr "" +msgstr "指定任务的持续时间无效" #: cps/admin.py:1345 msgid "Scheduled tasks settings updated" -msgstr "" +msgstr "已更新计划任务设置" #: cps/admin.py:1355 cps/admin.py:1404 cps/admin.py:1992 cps/web.py:1254 #: cps/web.py:1315 @@ -331,7 +331,7 @@ msgstr "发生一个未知错误,请稍后再试。" #: cps/admin.py:1359 msgid "Settings DB is not Writeable" -msgstr "" +msgstr "设置数据库不可写" #: cps/admin.py:1389 cps/admin.py:1984 #, python-format @@ -501,7 +501,7 @@ msgid "Execution permissions missing" msgstr "缺少执行权限" #: cps/db.py:679 cps/web.py:720 -#, fuzzy, python-format +#, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" msgstr "自定义列号:%(column)d在Calibre数据库中不存在" @@ -645,9 +645,8 @@ msgstr "找不到 %(format)s:%(fn)s" #: cps/helper.py:96 cps/helper.py:225 cps/templates/detail.html:42 #: cps/templates/detail.html:46 -#, fuzzy msgid "Send to E-Reader" -msgstr "发送到Kindle" +msgstr "发送到电子阅读器" #: cps/helper.py:97 cps/helper.py:115 cps/helper.py:227 msgid "This e-mail has been sent via Calibre-Web." @@ -671,19 +670,19 @@ msgid "Registration e-mail for user: %(name)s" msgstr "用户注册电子邮件:%(name)s" #: cps/helper.py:147 cps/helper.py:153 -#, fuzzy, python-format +#, python-format msgid "Convert %(orig)s to %(format)s and send to E-Reader" -msgstr "转换 %(orig)s 到 %(format)s 并发送到Kindle" +msgstr "转换 %(orig)s 到 %(format)s 并发送到电子阅读器" #: cps/helper.py:172 cps/helper.py:176 cps/helper.py:180 cps/helper.py:184 -#, fuzzy, python-format +#, python-format msgid "Send %(format)s to E-Reader" -msgstr "发送 %(format)s 到Kindle" +msgstr "发送 %(format)s 到电子阅读器" #: cps/helper.py:224 cps/tasks/convert.py:92 -#, fuzzy, python-format +#, python-format msgid "%(book)s send to E-Reader" -msgstr "%(book)s发送到Kindle" +msgstr "%(book)s发送到电子阅读器" #: cps/helper.py:229 msgid "The requested file could not be read. Maybe wrong permissions?" @@ -746,7 +745,7 @@ msgstr "无效的邮件地址格式" #: cps/helper.py:811 msgid "Python module 'advocate' is not installed but is needed for cover uploads" -msgstr "" +msgstr "上传封面需要的Python模块'advocate'未安装" #: cps/helper.py:821 msgid "Error Downloading Cover" @@ -1191,11 +1190,11 @@ msgstr "已完成" #: cps/tasks_status.py:72 msgid "Ended" -msgstr "" +msgstr "已结束" #: cps/tasks_status.py:74 msgid "Cancelled" -msgstr "" +msgstr "已取消" #: cps/tasks_status.py:76 msgid "Unknown Status" @@ -1260,7 +1259,7 @@ msgstr "丛书:%(serie)s" #: cps/web.py:609 msgid "Rating: None" -msgstr "" +msgstr "评分:无" #: cps/web.py:618 #, python-format @@ -1406,33 +1405,33 @@ msgstr "Calibre 运行失败,错误信息:%(error)s" #: cps/tasks/convert.py:275 msgid "Convert" -msgstr "" +msgstr "转换" #: cps/tasks/database.py:28 msgid "Reconnecting Calibre database" -msgstr "" +msgstr "正在重新连接到Calibre数据库" #: cps/tasks/mail.py:265 msgid "E-mail" -msgstr "" +msgstr "电子邮件" #: cps/tasks/thumbnail.py:95 #, python-format msgid "Generated %(count)s cover thumbnails" -msgstr "" +msgstr "生成了 %(count)s 个封面缩略图" #: cps/tasks/thumbnail.py:222 cps/tasks/thumbnail.py:435 #: cps/tasks/thumbnail.py:503 msgid "Cover Thumbnails" -msgstr "" +msgstr "封面缩略图" #: cps/tasks/thumbnail.py:281 msgid "Generated {0} series thumbnails" -msgstr "" +msgstr "生成了 %(count)s 个丛书缩略图" #: cps/tasks/thumbnail.py:446 msgid "Clearing cover thumbnail cache" -msgstr "" +msgstr "正在清理封面缩略图缓存" #: cps/tasks/upload.py:38 cps/templates/admin.html:20 #: cps/templates/layout.html:67 cps/templates/user_table.html:145 @@ -1455,9 +1454,8 @@ msgid "E-mail Address" msgstr "邮箱地址" #: cps/templates/admin.html:15 cps/templates/user_edit.html:28 -#, fuzzy msgid "Send to E-Reader E-mail Address" -msgstr "接收书籍的Kindle邮箱地址" +msgstr "接收书籍的电子阅读器邮箱地址" #: cps/templates/admin.html:17 cps/templates/layout.html:77 #: cps/templates/user_table.html:143 @@ -1598,31 +1596,31 @@ msgstr "编辑界面配置" #: cps/templates/admin.html:167 msgid "Scheduled Tasks" -msgstr "" +msgstr "计划任务" #: cps/templates/admin.html:170 cps/templates/schedule_edit.html:12 msgid "Time at which tasks start to run" -msgstr "" +msgstr "任务开始运行的时间" #: cps/templates/admin.html:174 cps/templates/schedule_edit.html:20 msgid "Maximum tasks duration" -msgstr "" +msgstr "最长任务持续时间" #: cps/templates/admin.html:178 msgid "Generate book cover thumbnails" -msgstr "" +msgstr "生成书籍封面缩略图" #: cps/templates/admin.html:182 msgid "Generate series cover thumbnails" -msgstr "" +msgstr "生成丛书封面缩略图" #: cps/templates/admin.html:186 cps/templates/schedule_edit.html:37 msgid "Reconnect to Calibre Library" -msgstr "" +msgstr "重新连接到Calibre库" #: cps/templates/admin.html:193 msgid "Refresh Thumbnail Cover Cache" -msgstr "" +msgstr "刷新封面缩略图缓存" #: cps/templates/admin.html:199 msgid "Administration" @@ -1650,7 +1648,7 @@ msgstr "停止" #: cps/templates/admin.html:213 msgid "Version Information" -msgstr "" +msgstr "版本信息" #: cps/templates/admin.html:217 msgid "Version" @@ -2564,7 +2562,7 @@ msgstr "Kobo Token:" #: cps/templates/grid.html:21 msgid "List" -msgstr "" +msgstr "列表" #: cps/templates/http_error.html:31 msgid "Calibre-Web Instance is unconfigured, please contact your administrator" @@ -2736,7 +2734,7 @@ msgstr "书籍详情" #: cps/templates/list.html:22 msgid "Grid" -msgstr "" +msgstr "网格" #: cps/templates/login.html:18 msgid "Remember Me" @@ -2864,12 +2862,11 @@ msgstr "深色" #: cps/templates/read.html:79 msgid "Sepia" -msgstr "" +msgstr "棕色" #: cps/templates/read.html:80 -#, fuzzy msgid "Black" -msgstr "后退" +msgstr "黑色" #: cps/templates/read.html:84 msgid "Reflow text when sidebars are open." @@ -3029,11 +3026,11 @@ msgstr "此验证链接将在10分钟后失效。" #: cps/templates/schedule_edit.html:29 msgid "Generate Book Cover Thumbnails" -msgstr "" +msgstr "生成书籍封面缩略图" #: cps/templates/schedule_edit.html:33 msgid "Generate Series Cover Thumbnails" -msgstr "" +msgstr "生成丛书封面缩略图" #: cps/templates/search.html:6 msgid "No Results Found" @@ -3157,7 +3154,7 @@ msgstr "系统统计" #: cps/templates/stats.html:33 msgid "Program" -msgstr "" +msgstr "程序" #: cps/templates/stats.html:34 msgid "Installed Version" @@ -3189,15 +3186,15 @@ msgstr "开始时间" #: cps/templates/tasks.html:20 msgid "Actions" -msgstr "" +msgstr "活动" #: cps/templates/tasks.html:40 msgid "This task will be cancelled. Any progress made by this task will be saved." -msgstr "" +msgstr "这个任务将被取消。此任务取得的所有进展都将被保存" #: cps/templates/tasks.html:41 msgid "If this is a scheduled task, it will be re-ran during the next scheduled time." -msgstr "" +msgstr "如果这是计划任务,则将在下一个计划的时间内重新运行" #: cps/templates/user_edit.html:20 msgid "Reset user Password" @@ -3264,14 +3261,12 @@ msgid "Enter E-mail Address" msgstr "输入邮箱地址" #: cps/templates/user_table.html:136 -#, fuzzy msgid "Enter E-Reader E-mail Address" -msgstr "输入Kindle邮箱地址" +msgstr "输入电子阅读器邮箱地址" #: cps/templates/user_table.html:136 -#, fuzzy msgid "E-Reader E-mail" -msgstr "测试邮件" +msgstr "电子阅读器邮箱" #: cps/templates/user_table.html:137 msgid "Locale" From c4104ddaf4982cbfb4008fa945d9cec127b96a56 Mon Sep 17 00:00:00 2001 From: Kian-Meng Ang Date: Fri, 1 Jul 2022 21:26:06 +0800 Subject: [PATCH 07/98] Fix typos --- cps/cli.py | 2 +- cps/helper.py | 4 ++-- cps/kobo.py | 4 ++-- cps/remotelogin.py | 2 +- cps/shelf.py | 2 +- cps/ub.py | 4 ++-- cps/web.py | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cps/cli.py b/cps/cli.py index 5896c7fe..6f58dcc4 100644 --- a/cps/cli.py +++ b/cps/cli.py @@ -29,7 +29,7 @@ from .constants import DEFAULT_SETTINGS_FILE, DEFAULT_GDRIVE_FILE def version_info(): if _NIGHTLY_VERSION[1].startswith('$Format'): - return "Calibre-Web version: %s - unkown git-clone" % _STABLE_VERSION['version'] + return "Calibre-Web version: %s - unknown git-clone" % _STABLE_VERSION['version'] return "Calibre-Web version: %s -%s" % (_STABLE_VERSION['version'], _NIGHTLY_VERSION[1]) diff --git a/cps/helper.py b/cps/helper.py index d40ffc33..99c37e16 100755 --- a/cps/helper.py +++ b/cps/helper.py @@ -121,7 +121,7 @@ def send_registration_mail(e_mail, user_name, default_password, resend=False): txt = "Hello %s!\r\n" % user_name if not resend: txt += "Your new account at Calibre-Web has been created. Thanks for joining us!\r\n" - txt += "Please log in to your account using the following informations:\r\n" + txt += "Please log in to your account using the following information:\r\n" txt += "User name: %s\r\n" % user_name txt += "Password: %s\r\n" % default_password txt += "Don't forget to change your password after first login.\r\n" @@ -940,7 +940,7 @@ def check_unrar(unrar_location): except (OSError, UnicodeDecodeError) as err: log.error_or_exception(err) - return _('Error excecuting UnRar') + return _('Error executing UnRar') def json_serial(obj): diff --git a/cps/kobo.py b/cps/kobo.py index 46e68acb..c379e9a2 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -155,7 +155,7 @@ def HandleSyncRequest(): new_archived_last_modified = datetime.datetime.min sync_results = [] - # We reload the book database so that the user get's a fresh view of the library + # We reload the book database so that the user gets a fresh view of the library # in case of external changes (e.g: adding a book through Calibre). calibre_db.reconnect_db(config, ub.app_DB_path) @@ -508,7 +508,7 @@ def get_metadata(book): @requires_kobo_auth # Creates a Shelf with the given items, and returns the shelf's uuid. def HandleTagCreate(): - # catch delete requests, otherwise the are handeld in the book delete handler + # catch delete requests, otherwise the are handled in the book delete handler if request.method == "DELETE": abort(405) name, items = None, None diff --git a/cps/remotelogin.py b/cps/remotelogin.py index ea613c29..037979ea 100644 --- a/cps/remotelogin.py +++ b/cps/remotelogin.py @@ -126,7 +126,7 @@ def token_verified(): ub.session_commit("User {} logged in via remotelogin, token deleted".format(user.name)) data['status'] = 'success' - log.debug(u"Remote Login for userid %s succeded", user.id) + log.debug(u"Remote Login for userid %s succeeded", user.id) flash(_(u"you are now logged in as: '%(nickname)s'", nickname=user.name), category="success") response = make_response(json.dumps(data, ensure_ascii=False)) diff --git a/cps/shelf.py b/cps/shelf.py index 49d9a633..9ddc0d1a 100644 --- a/cps/shelf.py +++ b/cps/shelf.py @@ -263,7 +263,7 @@ def order_shelf(shelf_id): for book in books_in_shelf: setattr(book, 'order', to_save[str(book.book_id)]) counter += 1 - # if order diffrent from before -> shelf.last_modified = datetime.utcnow() + # if order different from before -> shelf.last_modified = datetime.utcnow() try: ub.session.commit() except (OperationalError, InvalidRequestError) as e: diff --git a/cps/ub.py b/cps/ub.py index fd7a90ef..96e674d4 100644 --- a/cps/ub.py +++ b/cps/ub.py @@ -263,7 +263,7 @@ class OAuthProvider(Base): active = Column(Boolean) -# Class for anonymous user is derived from User base and completly overrides methods and properties for the +# Class for anonymous user is derived from User base and completely overrides methods and properties for the # anonymous user class Anonymous(AnonymousUserMixin, UserBase): def __init__(self): @@ -769,7 +769,7 @@ def update_download(book_id, user_id): session.rollback() -# Delete non exisiting downloaded books in calibre-web's own database +# Delete non existing downloaded books in calibre-web's own database def delete_download(book_id): session.query(Downloads).filter(book_id == Downloads.book_id).delete() try: diff --git a/cps/web.py b/cps/web.py index dcccbc32..3a6f9e60 100755 --- a/cps/web.py +++ b/cps/web.py @@ -437,7 +437,7 @@ def render_discover_books(book_id): def render_hot_books(page, order): if current_user.check_visibility(constants.SIDEBAR_HOT): if order[1] not in ['hotasc', 'hotdesc']: - # Unary expression comparsion only working (for this expression) in sqlalchemy 1.4+ + # Unary expression comparison only working (for this expression) in sqlalchemy 1.4+ # if not (order[0][0].compare(func.count(ub.Downloads.book_id).desc()) or # order[0][0].compare(func.count(ub.Downloads.book_id).asc())): order = [func.count(ub.Downloads.book_id).desc()], 'hotdesc' From c2545315e163747ec935654fe4bd49636b3ef3d5 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 16 Jul 2022 19:09:19 +0200 Subject: [PATCH 08/98] Fix Ratings with 0 stars are counted as None --- cps/web.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cps/web.py b/cps/web.py index 3a6f9e60..5fb62e70 100755 --- a/cps/web.py +++ b/cps/web.py @@ -598,14 +598,16 @@ def render_series_books(page, book_id, order): def render_ratings_books(page, book_id, order): if book_id == '-1': + db_filter = coalesce(db.Ratings.rating, 0) < 1 entries, random, pagination = calibre_db.fill_indexpage(page, 0, db.Books, - db.Books.ratings == None, + db_filter, [order[0][0]], True, config.config_read_column, db.books_series_link, db.Books.id == db.books_series_link.c.book, - db.Series) + db.Series, + db.books_ratings_link, db.Ratings) title = _(u"Rating: None") rating = -1 else: @@ -1018,10 +1020,11 @@ def ratings_list(): entries = calibre_db.session.query(db.Ratings, func.count('books_ratings_link.book').label('count'), (db.Ratings.rating / 2).label('name')) \ .join(db.books_ratings_link).join(db.Books).filter(calibre_db.common_filters()) \ + .filter(db.Ratings.rating > 0) \ .group_by(text('books_ratings_link.rating')).order_by(order).all() no_rating_count = (calibre_db.session.query(db.Books) .outerjoin(db.books_ratings_link).outerjoin(db.Ratings) - .filter(db.Ratings.rating == None) + .filter(or_(db.Ratings.rating == None, db.Ratings.rating == 0)) .filter(calibre_db.common_filters()) .count()) entries.append([db.Category(_("None"), "-1", -1), no_rating_count]) From a72f16fd3ace38be9827a5e0cf97d2356cc1e8eb Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 16 Jul 2022 19:27:44 +0200 Subject: [PATCH 09/98] Fix missing or_ import --- cps/web.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cps/web.py b/cps/web.py index 5fb62e70..9c7d527c 100755 --- a/cps/web.py +++ b/cps/web.py @@ -31,7 +31,7 @@ from flask_babel import gettext as _ from flask_babel import get_locale from flask_login import login_user, logout_user, login_required, current_user from sqlalchemy.exc import IntegrityError, InvalidRequestError, OperationalError -from sqlalchemy.sql.expression import text, func, false, not_, and_ +from sqlalchemy.sql.expression import text, func, false, not_, and_, or_ from sqlalchemy.orm.attributes import flag_modified from sqlalchemy.sql.functions import coalesce From a3f7dc2a5ab6bd8e56d2c443ae81755ea1cacc32 Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 23 Jul 2022 07:23:13 +0200 Subject: [PATCH 10/98] Bugfix search with wrong custom column configured --- cps/metadata_provider/scholar.py | 2 + cps/search.py | 3 + optional-requirements.txt | 6 +- setup.cfg | 2 +- test/Calibre-Web TestSummary_Linux.html | 831 ++++++------------------ 5 files changed, 205 insertions(+), 639 deletions(-) diff --git a/cps/metadata_provider/scholar.py b/cps/metadata_provider/scholar.py index 7feb0ee9..498184ec 100644 --- a/cps/metadata_provider/scholar.py +++ b/cps/metadata_provider/scholar.py @@ -49,6 +49,8 @@ class scholar(Metadata): tokens = [quote(t.encode("utf-8")) for t in title_tokens] query = " ".join(tokens) try: + scholarly.set_timeout(20) + scholarly.set_retries(2) scholar_gen = itertools.islice(scholarly.search_pubs(query), 10) except Exception as e: log.warning(e) diff --git a/cps/search.py b/cps/search.py index 88d790fc..17d54b4e 100644 --- a/cps/search.py +++ b/cps/search.py @@ -134,6 +134,9 @@ def adv_search_read_status(read_status): db_filter = coalesce(db.cc_classes[config.config_read_column].value, False) != True except (KeyError, AttributeError, IndexError): log.error("Custom Column No.{} does not exist in calibre database".format(config.config_read_column)) + flash(_("Custom Column No.%(column)d does not exist in calibre database", + column=config.config_read_column), + category="error") return true() return db_filter diff --git a/optional-requirements.txt b/optional-requirements.txt index 97f355f2..d18463a3 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -29,11 +29,11 @@ SQLAlchemy-Utils>=0.33.5,<0.39.0 # metadata extraction rarfile>=3.2 -scholarly>=1.2.0,<1.7 +scholarly>=1.2.0,<1.8 markdown2>=2.0.0,<2.5.0 html2text>=2020.1.16,<2022.1.1 python-dateutil>=2.1,<2.9.0 -beautifulsoup4>=4.0.1,<4.11.0 +beautifulsoup4>=4.0.1,<4.12.0 cchardet>=2.0.0,<2.2.0 # Comics @@ -41,4 +41,4 @@ natsort>=2.2.0,<8.2.0 comicapi>=2.2.0,<2.3.0 # Kobo integration -jsonschema>=3.2.0,<4.7.0 +jsonschema>=3.2.0,<4.8.0 diff --git a/setup.cfg b/setup.cfg index 92e64f6a..c24dfc97 100644 --- a/setup.cfg +++ b/setup.cfg @@ -97,5 +97,5 @@ comics = natsort>=2.2.0,<8.2.0 comicapi>=2.2.0,<2.3.0 kobo = - jsonschema>=3.2.0,<4.6.0 + jsonschema>=3.2.0,<4.7.0 diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index 8953c08c..7abc8792 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@
-

Start Time: 2022-06-05 22:14:00

+

Start Time: 2022-07-18 11:00:52

-

Stop Time: 2022-06-06 04:06:43

+

Stop Time: 2022-07-18 17:02:49

-

Duration: 4h 57 min

+

Duration: 5h 1 min

@@ -465,13 +465,13 @@ - + TestEbookConvertCalibre 15 - 11 - 3 + 14 1 0 + 0 Detail @@ -479,11 +479,31 @@ - +
TestEbookConvertCalibre - test_calibre_log
- PASS + +
+ FAIL +
+ + + + @@ -497,64 +517,20 @@ - +
TestEbookConvertCalibre - test_convert_email
- -
- FAIL -
- - - - + PASS - +
TestEbookConvertCalibre - test_convert_failed_and_email
- -
- ERROR -
- - - - + PASS @@ -568,33 +544,11 @@ selenium.common.exceptions.NoSuchElementException: Message: Could not locate ele - +
TestEbookConvertCalibre - test_convert_options
- -
- FAIL -
- - - - + PASS @@ -635,33 +589,11 @@ AssertionError: Items in the first set but not the second: - +
TestEbookConvertCalibre - test_email_only
- -
- FAIL -
- - - - + PASS @@ -703,12 +635,12 @@ AssertionError: 'Failed' != 'Finished' - + TestEbookConvertCalibreGDrive 6 - 3 - 2 - 1 + 6 + 0 + 0 0 Detail @@ -717,64 +649,20 @@ AssertionError: 'Failed' != 'Finished' - +
TestEbookConvertCalibreGDrive - test_convert_email
- -
- FAIL -
- - - - + PASS - +
TestEbookConvertCalibreGDrive - test_convert_failed_and_email
- -
- ERROR -
- - - - + PASS @@ -806,33 +694,11 @@ selenium.common.exceptions.NoSuchElementException: Message: Could not locate ele - +
TestEbookConvertCalibreGDrive - test_email_only
- -
- FAIL -
- - - - + PASS @@ -1951,9 +1817,9 @@ AssertionError: 'Failed' != 'Finished'
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 185, in test_edit_title
-    self.assertEqual('The camicdemo', books[1][8]['title'])
-IndexError: list index out of range
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 230, in test_edit_title + self.assertEqual(ele.text, u'Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters') +AttributeError: 'bool' object has no attribute 'text'
@@ -1982,11 +1848,11 @@ IndexError: list index out of range - + TestLoadMetadataScholar 1 - 1 0 + 1 0 0 @@ -1996,90 +1862,26 @@ IndexError: list index out of range - +
TestLoadMetadataScholar - test_load_metadata
- PASS - - - - - - - TestSTARTTLS - 3 - 1 - 2 - 0 - 0 - - Detail - - - - - - - -
TestSTARTTLS - test_STARTTLS
-
- FAIL + FAIL
-